Samba-2 サーバが NT ドメインに参加するには、まず、サーバマネー ジャを使って、Samba サーバの NetBIOS 名を NT ドメインの PDC に追加 しておく必要があります。サーバマネージャはマシンアカウントをドメイン (PDC)の SAM に作ります。このとき、Samba サーバを「Windows NT ワークス テーション/サーバ」として追加すること。プライマリあるいはバックアッ プドメインコントローラとして追加してはいけません。
以下、SERV1 という NetBIOS 名を持つ Samba-2 サーバを、DOMPDC という NetBIOS 名の PDC と DOMBDC1、DOMBDC2 という 2 つの BDC がある、DOM という NT ドメイン に追加するものと して説明します。
ドメインに参加する為には、まずは全ての Samba デーモンを停止 させてから、DOM ドメインやその PDC である DOMPDC (ドメインで唯一 SAM データベースに書き込むことができるマシン) に参加する為、以下の コマンドを起動してください。
root# smbpasswd -j DOM -r DOMPDC
もしうまく行ったら、以下のメッセージがターミナルウインドウに 現れる筈です。
smbpasswd: Joined domain DOM.
詳細に付いては smbpasswd(8) を参照してください。
前もってPDCに信頼ホストのアカウントを作っておかなくてもドメ インに参加できるようにするコードは、開発ブランチで作成中です。この コードは、リリースブランチでも間もなく利用可能になるでしょう。
このコマンドは、マシンアカウントを変更するプロトコルに従い、 この Samba サーバの新しい(ランダムな)マシンアカウントのパスワード を smbpasswd ファイルがあるディレクトリと同じディレクトリ(普通は
/usr/local/samba/private
)に書き込みます。
Samba 2.0.xでは、ファイル名は次のようになっています。
<NT ドメイン名>.<Samba サーバ名>.mac
この .mac という拡張子は、マシンアカウ ントのパスワードファイルを示します。そのため今回の例では、このファ イルは
DOM.SERV1.mac
という名前になっている筈です。
Samba 2.2 では、このファイルは secrets.tdb という名前の TDB (Trivial Database) ファイルに置き換えられました。
このファイルは、オーナ root で作成され、他のユーザからは読め ません。このファイルは、システムがドメインレベルのセキュリティを保 つのに必要な鍵である為、shadow パスワードファイルと同様に、慎重に 扱うべきです。
ここで、Samba デーモンを再起動する前に、smb.conf(5) ファ イルを修正して、Samba にドメインセキュリティを使用させるようにする 必要があります。
まず、現在使われている smb.conf の [global] セクションの "security=" 行を
security = domain
に修正(または追加)します。
次に、[global] セクションのworkgroup= という行を
workgroup = DOM
のように、これから参加するドメインの名前に修正します。
また、NT の PDC に対するユーザ認証を可能にする為、 encrypt passwords 行も yes に設定する必要があります。
最後に、[global] セクションの password server =行を次のように追加 (または修正)します。
password server = DOMPDC DOMBDC1 DOMBDC2
Samba がユーザ認証を行う時に問い合わせを行うサーバには、PDC (Primary Domain Controller) と BDC (Backup Domain Controller) があ ります。Samba はこれらのサーバに対し、順番に問い合わせを行おうとし ます(訳注: リストの最初のサーバから順番に問い合わせ、どれかのサー バから返答があれば、残りのサーバには問い合わせません)。従って、こ のリストの順番を変えることで、ドメインコントローラの認証の負荷を分 散させることが可能です。
または、認証に使うドメインコントローラのリストをsmbdが自動的 に決めるようにしたいならば、次のように設定することもできます。
password server = *
この方法は Samba 2.0.6 から使えるようになりました。この方法 で、SambaはNTと同じように動作するようになります。つまり、samba は 認証する為のドメインコントローラを見付けるのにブロードキャストか WINS データベースを使います。
最後に、Samba デーモンを再起動してください。これでドメインセ キュリティを使った、クライアントのアクセスが可能になります!
Samba が Windows 2000 のドメインに参加できるかどうか疑問に思っている人が大 勢います。Samba 2.2 は、(mixed or native mode で)Windows 2000 ドメインのメ ンバサーバとして振る舞うことができます。
「mixed」モードであることを期待されるときの Win2k ドメインコントローラと、 このホストが「native」モードに変更されるときの環境には、大きな混乱がありま す。「mixed」モードの Win2k ドメインコントローラは、Windows NT の BDC が同 じドメインに存在するときにだけ、必要になります。デフォルトでは、「native」 モードのWin2k ドメインコントローラは、Windows 9x や NT 4.0 などのレガシー クライアントの認証のために NetBIOS と NTLMv1 をサポートします。Samba も、 Windows NT 4.0 メンバサーバとして同じように動作します。
Samba 2.2 が動作するホストを Windows 2000 のドメインに参加させる方法は、 Windows NT 4.0 のドメインに参加させるのと同じです。違う点は、NT 4では「サー バマネージャ(Server Manager)」を使うのに対して、「Active Directory Users and Computers」という MMC (Microsoft Management Console) を使うことです。
現在、Samba のドメインセキュリティを使っても、依然としてユー ザがサーバにアクセスするには、ローカルな UNIX ユーザを作成する必要 があります。つまり、DOM\fred というドメインの ユーザがドメインセキュリティを使用している Samba サーバにアクセス する場合、UNIX のファイルシステムでそのユーザを識別する為に、fred というローカルな UNIX のユーザが必要です。これは、以前からある security = server という Samba のセキュリティモードを使って、Windows 95 や Windows 98 と同様に、Windows NT Server に対して認証要求をパ ススルーするのとほとんど変わりません。
自動的にUNIXのユーザID及びグループIDをNTドメインのユーザやグ ループに対応づけるには、Winbind のマニュアルを参照してください。このコードは、今のところ、開発ブラ ンチでだけ利用可能ですが、間もなくリリースブランチでも利用可能にな ります。
ドメインレベルのセキュリティを用いる利点は、ドメインレベルの セキュリティの認証が、NT Server と全く同様に、認証された RPC チャ ネルを通じて行われる所にあります。これは、Samba が NT Server と全 く同様に、ドメインの信頼関係に参加していることを意味します。(例え ば、Samba サーバをリソースドメインに追加することで、リソースドメイ ンの PDC 経由でアカウントドメインの PDC に対し、認証要求を行うこと が可能です。)
それに加えて、security = server の場合、 サーバ上の個々の Samba デーモンのプロセスは、存在している間、認証 しているサーバに対してコネクションを張ったままにしている必要があり ます。これは、NT サーバのコネクションのリソースを消費し、利用可能 なコネクションを使いはたす恐れがあります。一方 security = domain の場合、Samba デーモンは、ユーザを認証するのに必 要な間、PDC や BDC に接続するだけで、必要でなくなれば、すぐにコネ クションを切断しますので、PDC のコネクションのリソースを浪費しませ ん。
最後に、NT サーバと同様の方法で PDC に認証に認証を行うという ことは、認証の返事として、Samba サーバが、SID のような、ユーザを識 別する情報や、ユーザが属している NT グループの一覧等の情報を受け取 れると言うことを意味します。これは、将来の Samba に、現在開発者の 間で appliance モードと呼ばれているモードを拡張することが可能になっ たということです。そのモードでは、ローカルな UNIX ユーザは不要にな ります。Samba は、NT ユーザが認証された時点で、PDC から入手した情 報を元に UNIX の uid と gid を生成するようになり、Samba サーバは、 NT ドメインの環境に対し、真にプラグアンドプレイになります。それが 実現されるのも、そう遠くはありません。
注意: このドキュメントのほとんどは、Web マガジンの LinuxWorld の "Doing the NIS/NT Samba" という記事中で最初に出版されました。