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の方が性能がいいように見えますが、端末1〜4台ではNTの方が性能がいいことも見落としてはいけません。
- WindowsNTクライアントからの64ビット・ビューのサポート
NTクライアントからのファイルシステムアクセスに対し、64ビット・ビューがサポートされ、大規模ファイルシステムに対応しました。
- 移植性向上
従来は、ユーザが手で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サービスパック3および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のデーモンをすべて停止させます。
- WindowsNTのサーバー・マネージャー(SRVMGR.EXE)を起動し、Sambaマシンをドメインに追加します。
メニューの「コンピュータ」−「ドメインに追加」をクリックし、「WindowsNTワークステーションまたはサーバ」で追加します。
- Sambaサーバ上で以下を実行し、NTドメインのメンバーに追加します。(UNIXのrootユーザで行います)
/usr/local/samba/bin/smbpasswd -j DOM -r DOMPDC
ここで、DOMはNTドメイン名、DOMPDCはNTのプライマリ・ドメイン・サーバ名です。
- /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 (Samba Web Administration Tool)を使うと以下のことがWebブラウザ経由でできるようになります。
( SWAT デモページ )
- オンライン・ドキュメントの参照
- smb.confの編集や確認
- パスワードの変更
- Sambaの状態表示やサービスの再起動
SWATインストール方法は以下の通りです。
- /etc/servicesの変更
以下のエントリを追加します。
swat 901/tcp
- /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
- inetd に HUP を送信
inetd をリスタートする為に, inetd のプロセスに HUP を送信します。
kill -HUP
(inetdのプロセス番号)
inetdのプロセス番号は、ps -ef | grep inetd
などで調べます。
(psのオプションはOSによって異なります)
- 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/