!==
== DOMAIN_MEMBER.txt for Samba release 2.0.7 26 Apr 2000
!==

TITLE INFORMATION: Joining an NT Domain with Samba 2.0 
AUTHOR INFORMATION: Jeremy Allison、Samba Team 
DATE INFORMATION: 11th November 1998 

翻訳者:	高橋基信 <monyo@samba.gr.jp>
更新日: 2000/05/02
======================================================================

Samba 2.0 サーバを NT ドメインに参加させるには
----------------------------------------------

Samba-2 サーバで NT ドメインに参加する為には、まず最初に Samba マシン
の NetBIOS 名を、サーバマネージャを使って NT ドメインの PDC に追加して
おく必要があります。これで、マシンアカウントがドメイン(PDC)の SAM に作
られます。

以下、SERV1 という NetBIOS 名を持つ Samba-2 サーバを、DOMPDC という 
NetBIOS 名の PDC と DOMBDC1、DOMBDC2 という 2 つの BDC がある、DOM とい
う NT ドメイン に追加するものとして説明します。

ドメインに参加する為には、まずは全ての Samba デーモンを停止させてから、
DOM ドメインやその PDC である DOMPDC (ドメインで唯一 SAM データベース
に書き込むことができるマシン) に参加する為、以下のコマンドを起動してく
ださい。

    smbpasswd -j DOM -r DOMPDC

もしうまく行ったら、以下のメッセージがターミナルウインドウに現れる筈で
す。

    smbpasswd: Joined domain DOM.

詳細に付いては smbpasswd の man ページを参照してください。

このコマンドは、マシンアカウントを変更するプロトコルに従い、この Samba 
サーバの新しい(ランダムな)マシンアカウントのパスワードを smbpasswd ファ
イルがあるディレクトリと同じディレクトリ(普通は

    /usr/local/samba/private

)に書き込みます。

ファイル名は、以下のようになっています。

    <NT ドメイン名>.<Samba サーバ名>.mac

この .mac という拡張子は、マシンアカウントのパスワードファイルを示しま
す。そのため今回の例では、このファイルは

    DOM.SERV1.mac

という名前になっている筈です。

このファイルは、オーナ root で作成され、他のユーザからは読めません。
このファイルは、システムがドメインレベルのセキュリティを保つのに必要な
鍵である為、shadow パスワードファイルと同様に、慎重に扱うべきです。

ここで、Samba デーモンを再起動する前に、smb.conf ファイルを修正して、
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 と BDC 
があります。Samba はこれらのサーバに対し、順番に問い合わせを行おうとし
ます(訳注: リストの最初のサーバから順番に問い合わせ、どれかのサーバから
返答があれば、残りのサーバには問い合わせません)。従って、このリストの
順番を変えることで、ドメインコントローラの認証の負荷を分散させること
が可能です。

現在、Samba がドメインレベルのセキュリティを使って認証を行う為には、こ
のパラメータを使って、ドメインコントローラを列挙することが必要です。それ
に対して、NT は、認証する為のドメインコントローラを見付けるのに、こう
した方式を使わず、ブロードキャストか WINS データベースを使います。

元々、私もこの方式を Samba に適用することを考えていましたが、セキュリティ
に問題があるように感じて、適用を止めました。しかし、Samba-2 alpha 版
ユーザの幾人かは、Samba の NT への類似度を高める為に、この機能を追加し
て欲しいと要求して来ましたので、私は、多分 '*' という特別な名前(NT の
様にドメインコントローラを探索することを意味する)を、将来リリースされる
コードに追加すると思います。しかし、現在は、だれがドメインコントローラ
かは、自分で指定する必要があります。

最後に、Samba デーモンを再起動してください。これでドメインセキュリティ
を使った、クライアントのアクセスが可能になります!

security = server よりも良い点
------------------------------

現在、Samba のドメインセキュリティを使っても、依然としてユーザがサーバ
にアクセスするには、ローカルな UNIX ユーザを作成する必要があります。
つまり、DOM\fred というドメインのユーザがドメインセキュリティを使用し
ている Samba サーバにアクセスする場合、UNIX のファイルシステムでその
ユーザを識別する為に、fred というローカルな UNIX のユーザが必要です。
これは、以前からある "security = server" という Samba のセキュリティモー
ドを使って、Windows 95 や Windows 98 と同様に、Windows NT Server に対
して認証要求をパススルーするのとほとんど変わりません。

ドメインレベルのセキュリティを用いる利点は、ドメインレベルのセキュ
リティの認証が、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" という記事中で最初に出版されました。

訳注: 以下の URI にあります。
http://www.linuxworld.com/linuxworld/lw-1998-10/lw-10-samba.html
