# Samba 2.0新機能紹介

ここでは、Sambaのバージョン1.9.18に対し、バージョン2.0で追加になったり、変更になったりした機能を紹介します。
（Samba機能詳細も参照ください。）

### 主な新機能

- 性能向上
  Ziff-Davis NetBench benchmarkでの記録を更新し、さらに性能が向上しました。
  その結果が、 http://www.zdnet.com/sr/stories/issue/0,4537,2196106,00.html で公開されています。
  確かにNTよりもLinux+Sambaの方が性能がいいように見えますが、端末１〜４台ではNTの方が性能がいいことも見落としてはいけません。
- WindowsNTクライアントからの６４ビット・ビューのサポート
  NTクライアントからのファイルシステムアクセスに対し、６４ビット・ビューがサポートされ、大規模ファイルシステムに対応しました。
- 移植性向上
  従来は、ユーザが手でMakefileを変更し、makeする必要がありましたが、configureコマンドによる自動設定機能が追加され、インストールが簡単になりました。
- WebベースGUIコンフィグレーション機能のサポート
  SWATというツールが追加され、smb.confの修正などがWebベースで簡単に行えるようになりました。
- プロトコル間のデータ整合性保証
  oplocks（opportunistic locks）がプロトコル間、プロセス間のデータ整合性を保証します。
  例えば、SambaとNFSの間でデータの整合性が保証されます。
- ドメイン・クライアント・サポート
  SambaサーバもNTサーバと同じようにNTドメインのメンバー・サーバにできるようになりました。
- ドキュメントの変更
  マニュアル・フォーマットとして、HTML,SGML,TXTフォーマットが追加されました。

### 注意すべき変更点

- security=userがデフォルトに変更
  従来は、security=shareがデフォルトでしたが、2.0よりsecurity=userがデフォルトに変更されました。
  smb.confにおいてsecurityパラメータを明示設定していない場合は、2.0へのバージョンアップ時に
  security=shareを指定する必要があります。
- smbpasswdの変更
  SambaのSMBパスワード・ファイル（/usr/local/samba/private/smbpasswd）の内部形式が変更されたため、Samba 2.0の環境でmksmbpasswd.sh を用いて smbpasswd ファイルを作成すると、デフォルトではSambaに接続できなくなってしまいます。
  WindowsユーザがSambaを使用できるようにするには、smbpasswd コマンドの "-e" オプション（enable）を使って以下のようにする必要があります。（UNIXのrootユーザで行います）
  /usr/local/samba/bin/smbpasswd -e ユーザ名
  （WindowsNT4.0サービスパック３およびWindowsNT5.0ベータ，Windows98,Windows2000での注意事項も参照下さい）
  Samba 1.9.18の環境で作成したsmbpasswdファイルは、以下の要領でSamba 2.0形式に変換する必要があります。
  （これも当然UNIXのrootユーザで行います）

      cd /usr/local/samba/private
      mv smbpasswd smbpasswd.old
      cat smbpasswd.old | /usr/local/samba/bin/convert_smbpasswd > smbpasswd

### SambaのPDC（プライマリ・ドメイン・コントロール）機能について

従来は、Windows95/98のPDC（プライマリ・ドメイン・コントローラ）にしかなれませんでしたが、WindowsNTクライアントに対するドメイン・ログオン機能もSamba2.0には含まれています。
しかし、この機能はまだバグがいくつか残っているため、上の主な機能にまだあげられていません。

一般ユーザの使用は、まだ避けた方がいいでしょう。

PDC機能の開発に協力したい方は、以下にあるSamba-NTDOM メーリング・リストに参加しましょう。

http://samba.org/listproc/

詳細について、以下も参照ください。
http://samba.org/cvs.html

### SambaサーバをNTドメインのメンバー・サーバにする方法

1. Sambaのデーモンをすべて停止させます。
2. WindowsNTのサーバー・マネージャー(SRVMGR.EXE)を起動し、Sambaマシンをドメインに追加します。
   メニューの「コンピュータ」−「ドメインに追加」をクリックし、「WindowsNTワークステーションまたはサーバ」で追加します。
3. Sambaサーバ上で以下を実行し、NTドメインのメンバーに追加します。（UNIXのrootユーザで行います）
   /usr/local/samba/bin/smbpasswd -j DOM -r DOMPDC
   ここで、DOMはNTドメイン名、DOMPDCはNTのプライマリ・ドメイン・サーバ名です。
4. /usr/local/samba/lib/smb.confの[global]セクションを以下のように変更します。
   security = domain
   encrypt passwords=yes
   workgroup = DOM
   password server = DOMPDC DOMBDC1 DOMBDC2
   ここで、DOMはNTドメイン名、DOMPDCはNTのプライマリ・ドメイン・サーバ名、DOMBDC1 DOMBDC2はバックアップ・ドメインコントローラ名です。
   (NTドメインに全Sambaユーザが登録してあるなら、/usr/local/samba/private/smbpasswdは作成する必要はありません）

#### 従来のsecurity=serverとsecurity = domainの違い

以下の点では、security=serverとsecurity = domainは同じです。

- ユーザがSambaサーバにアクセスするには、ローカルな UNIX ユーザを作成する必要があります
- NTサーバに認証してもらう場合は、WindowsのCAL(クライアント・アクセス・ライセンス）の購入が必要です

security=serverとsecurity = domainの違いは以下です。

- "security = server" の場合、Samba使用中は、認証しているサーバに対してコネクションを張ったままですが、 "security = domain" の場合、Sambaはユーザを認証する間だけ、PDC や BDC に接続するだけで、すぐにコネクションを切断します
  （NTのライセンスが同時使用ユーザ数の時、効果あり）
- "security = server" の場合は、encrypt passwords=noで構いませんが、"security = domain" の場合、encrypt passwords=yesとする必要があります。

### SWATのインストール方法

SWAT (Samba Web Administration Tool)を使うと以下のことがWebブラウザ経由でできるようになります。
（ SWAT デモページ ）

- オンライン・ドキュメントの参照
- smb.confの編集や確認
- パスワードの変更
- Sambaの状態表示やサービスの再起動

SWATインストール方法は以下の通りです。

1. /etc/servicesの変更
   以下のエントリを追加します。
   swat 901/tcp
2. /etc/inetd.confの変更
   以下のエントリを追加します。
   swat stream tcp nowait.400 root /usr/local/samba/bin/swat swat
   「パスワードなし」（テスト用）で起動する場合は、以下のエントリを追加します。
   swat stream tcp nowait.400 root /usr/local/samba/bin/swat swat -a
3. inetd に HUP を送信
   inetd をリスタートする為に, inetd のプロセスに HUP を送信します。

   > kill -HUP(inetdのプロセス番号）

   > inetdのプロセス番号は、ps -ef | grep inetd などで調べます。
   > （psのオプションはOSによって異なります）

4. Webブラウザからの接続
   Sambaサーバからは以下で接続します。
   http://localhost:901/
   Windowsクライアントからは、以下で接続します。
   http://Sambaマシン:901/
   パスワードを聞いてきたら、ユーザ名にroot、パスワードにrootのパスワードを入力します。

＊注）SWATでは、TELNETやFTPと同じようにパスワードがネットワーク上をプレーン・テキストで流れます。
インターネットに公開するサーバでは、SWATを使用しない方がいいでしょう。
イントラネットで使用する場合も、TCP Wrapperなどでアクセス制限をしたほうがいいかもしれません。

小田切 耕司odagiri@samba.gr.jp
http://www.samba.gr.jp/