WindowsNTドメイン環境からの移行
WindowsNTドメイン環境からの移行
Samba3.0の主要機能のひとつにVampire(吸血鬼)機能がある。これはWindowsNT4 PDC環境をnet vampireコマンドでユーザ情報(パスワードを含む)やグループ情報を移行する機能だ。ここでは前項で構築したSambaのドメインへWindows ドメインを移行する方法を以下の手順で解説する。
NTドメインからの移行手順
- NTドメインのSID(セキュリティ識別子)をSambaへコピー
- (PDCとすべき)SambaマシンをNTドメインに追加(この時点でSambaはBDC相当になる)
- 共有データをNTからSambaへコピー
- net rpc vampire コマンドでユーザ情報、グループ情報を移行
- SambaマシンをPDCとして設定
Samba3.0では作業手順が大幅に減る上、新しいLDAP用Samba3.0 スキーマを利用すると各ユーザとグループのSID、プライマリグループ情報などSamba2.2では移行出来なかった情報や移動プロファイルなどが移行可 能になっている。 このSIDが保持できることで、WindowsNT上のNTFSのACL(アクセスコントロール)情報もSamba3.0へ移行できるようになるだ ろう。ただし、この場合Samba3.0側にSGI XFSなどのACLをサポートしたファイルシステムが必要になる。 移行時の注意点をあげておこう。
BDC(バックアップ・ドメイン・コントローラ)
SambaをPDCにした場合、BDCもすべてSambaにしなければならない。
よってWindows2000/2003サーバのBDCは移行作業前にメンバサーバに変更しておく必要がある。WindowsNTはBDCをメンバ サーバにすることができないので、WindowsのBDCは移行作業中はすべて停止しておき、移行完了後は撤去する必要がある。
新規にSambaのためのH/Wを用意しない場合は、必要データを別マシンに移してから、Windows BDCをLinuxにインストールし直してSambaのPDCにする手もあるだろう。
メンバサーバ
マシンアカウントとSIDがSambaによって引き継がれるため、ドメイン内にあるメンバサーバは移行後もそのまま利用できる。
信頼関係
信頼するドメインのアカウントは移行されるので引き継がれるが、信頼される側のアカウントが失われる可能性があるので、信頼関係はSambaに移行後、再度設定するのが望ましい。
日本語リソース
前述したようにユーザ名/グループ名に日本語(マルチバイト文字)のユーザ名、グループ名、マシン名、ドメイン名は移行できない。
もし、これらの制約にひっかかる場合は、予めWindowsのドメインユーザマネージャでグループ名やユーザ名などを変更しておく必要がある。
Sambaの設定
まずSambaをセットアップする必要があるが、ドメインを移行するならば前述した以下のようなLDAPを使ったドメインコントローラの構築手順を踏んで欲しい。
- SambaとLDAPインストール
- LDAPの設定
- NSSとPAMの設定
- Sambaの設定
そして、LDAPのサービスを起動し、Sambaのサービスを起動する前の状態までの作業を行う(smbldap-toolsの設定やsmbldap-populate.plによる初期データ投入もまだしない)。第3回の設定例で示したsmb.confを利用することになるが、この状態では以下のパラメータを変更する。
- workgroup
- 移行元のNTドメインと同じドメイン名を指定
- domain master=no
- 移行前はNoとし、移行後にYesとする
- os level = 20
- 移行前は20とし、移行後に64とする
- wins server
- NTのPDCがWINSサーバになっている場合は、PDCのIPアドレスを指定する。移行後はSamba PDCをwins support=yesとしてWINSサーバにし、他のSamba/WindowsマシンではSambaのPDCをWINSサーバとして指定する。
NTドメインのSID(セキュリティ識別子)をSambaへコピー
以下の(Samba上の)コマンドでNTドメインのSIDが確認できる。
WindowsNTのドメインSIDを表示
# rpcclient NTのPDCマシン名 -U Administrator%パスワード -c 'lsaquery' このコマンドを実行する前にping NTのPDCマシン名を実行して名前解決と通信ができることを確認して欲しい。もし、名前解決ができない場合は、/etc/hostsにIPアドレスを指定する。
このSIDを控えたら、以下のようにして既存のドメインSIDをSamba3.0にセットする(Sambaは起動しないこと)。
# net rpc getsid このドメインSIDは前回解説したsmbldap-toolsの設定ファイルである/etc/samba/smbldap_config.pm 内に$SID変数として設定する。
その他のパラメータも設定したら前回で解説したsmbldap-populate.plコマンド実行し、LDAPに初期データを投入する。