魅力的な新機能をふんだんに盛り込んだ,Samba 3.0が登場した。このSamba 3.0を活用すれば,単なるファイル・サーバーではなく,保守管理性の高いWindowsドメインを構築できる。Windowsドメインのドメイン・コントローラやメンバー・サーバーになれるのはもちろん,Active Directoryのメンバー・サーバーにもなれる。最新のWindows系OS(Windows Server 2003)との機能/コスト比較を交えて,このSamba 3.0によるサーバー構築方法を詳しく解説する。(ミラクル・リナックス 小田切 耕司)

Windows NT4.0のサポート期限切れが近付いている。Workstation版については既に2003年6月30日でサポートが終了*1,Server版については2003年12月31日をもってセキュリティ対策とバグ修正以外の修正プログラムが提供されなくなり,2004年12月31日でサポート終了となる。

 移行先としては,Windowsの最新版であるWindows Server 2003をはじめ,さまざまなものが考えられる。ファイル/プリント・サーバーをWindows NT4.0で構築している場合は,LinuxとSambaを組み合わせた環境がコストや安定性の面から注目できる選択肢であると言える。Sambaは,LinuxなどのUNIX系OSで,Windows互換のファイル/プリント・サーバーを構築するためのソフトウエアである。

 特に,3年以上の開発期間を経て,2003年3月に公開されたSamba 3.0では,Windows NT Server 4.0と同等の機能が実装されるため魅力が大きい。ユーザー情報やグループ情報を保持するSAM(Security Account Manager)を自動複製する機能も搭載されるため,移行にかかる手間も小さい。

 本セミナーではSamba 3.0の新機能を紹介し,Windows Server 2003との比較を行う。

Samba 3.0の新機能と主な改善点

 Samba 3.0の開発は1999年に開始された。当初は,Windows NT Server 4.0のドメイン機能の完全サポートを目指して開発されていたが,作業が完了する前にWindows 2000が登場してActive Directoryが普及したことで,そちらへの対応も求められた。また,開発方針についての意見対立から,Sambaの開発プロジェクトが分裂するなどの波乱もあり,Samba 3.0のリリースまでには3年半以上の月日が経過している。

 開発期間が長いことで,Samba 3.0にはさまざまな新機能が盛り込まれることになった。また,設計の見直しによりユーザー認証などの設定の見通しが良くなるなど,管理性も向上している。ここでは,Samba 3.0で追加・改良される機能を紹介する。

●Kerberos認証のサポート

 現在のSamba 2.2でサポートするWindowsドメイン参加機能は,プロトコル的にはWindows NT4.0相当のものであった。そのため,Active Directoryドメインには,参加こそできるものの,NT4.0と同様にユーザー認証にハッシュ・パスワードを使うNTLM認証しか利用できなかった。NTLM認証には相互認証機能がないなど,セキュリティが十分ではない問題がある。また,アプリケーション・サーバーがクライアント認証時に必ずドメイン・コントローラに接続しなければならず,レスポンス面でも弱点を抱えていた。

 Samba3.0では,Active Directoryドメイン参加時のユーザー認証に,Windows 2000/XP相当のKerberos認証が利用できる。Kerberosはマサチューセッツ工科大学で考案された認証方式で,KDC(Key Distribution Center)という集中認証サーバーが,認証をパスしたクライアントに,「チケット」と呼ばれる一定時間ネットワーク・サービスの利用を許可する情報を配布する仕組みを採用している。サーバーとクライアント間の相互認証が可能なことや,一度チケットが配布されたら,期限内ならば再認証が不要になるなどのメリットがある認証方式である。Windows 2000/XPではKerberosバージョン5を採用しており,Samba 3.0でもこれを利用する。

 これによりWindowsドメインのセキュリティが強化される。ただし,残念ながらSamba 3.0は現在のところ,Active Directoryサーバーにはなれない。

●文字コードをUnicodeベースに変更

 現在のSamba 2.2は,ドメイン・サーバーの機能などは,Windows NT4.0をベースに開発されているものの,Windowsクライアントとの通信で使用される文字コードは,Windows 9xと同じシフトJISを採用している。このため,一部のWindowsアプリケーションで互換性の問題が生じていた。

図1●Samba 2.xにおける文字コード問題
Windowsと通信時に使用する文字コードが異なるため,Windows 9xのDOSプロンプトなどで問題が生じていた。Samba 3.0ではこの問題が解消される。
表1 Samba 3.0がサポートする認証方式
複数の認証方式を組み合わせて使用することもできる。
 例えば,図1[拡大表示]にあるようにWindows 9xのDOSプロンプトを使って,Sambaで共有しているディレクトリを参照した際にディレクトリ名が文字化けしてしまい,正しく操作できなくなる。これは本来,文字コードを正しく処理できないWindows側の不具合なのだが,Windows NT4.0では発生しない問題で,事実上,Samba側の不具合である。

 Samba3.0では,このWindowsクライアントとの通信で使用される文字コードが,Windows NT/2000,Windows Server 2003と同じUCS-2(Unicode)になった。このため,従来問題となっていた一部のアプリケーションでの互換性の問題が解決すると期待される。

 改善が期待できるアプリケーションには,Windows 9xのDOSプロンプト以外では,ネットワーク・アプライアンスのNAS製品「NetAppFiler」の搭載ソフトウエアなどがある。NetAppFilerは,Windowsドメインに参加してユーザー管理をWindowsサーバーに任せる機能を持つが,文字コードが原因でSamba 2.2がドメイン・サーバーの場合はドメインに参加できず同機能を生かせなかった。Samba 3.0ではこの不具合が解消される。

 ただし,現状のSamba 3.0には,UCS-2とシフトJISとの変換機能などに一部問題がある。そのため日本語利用という点からは,Samba 2.2の日本語版よりも後退している面がある。現在,日本Sambaユーザ会を中心に品質向上のための作業が行われており,その成果に期待したい。

(ミラクル・リナックス 小田切 耕司)