| ||
|
a:ユーザー・アカウントのみ登録
w:マシン・アカウントのみ登録
A:ユーザー・アカウント更新のためにsmbldapツールに渡すオプション
W:マシンア:カウント更新のためにsmbldapツールに渡すオプション
C:エントリが存在しない場合,新規に作成しない
U:エントリが存在する場合,アップデートしない
例えば,新規ユーザーごとにホーム・ディレクトリを追加(-m オプション)し,また移動プロファイルは使わない場合(-F ' ')には,次のようにオプションを指定すればよい。
# smbldap-migrate-accounts.pl -A "-m -F ''" < smbpasswd.txt
●グループ情報の移行
net group <グループ名>で取得した情報を収めたファイルに対して,smbldap-migrate-groups.plをそれぞれ実行する。
# smbldap-migrate-groups.pl < group1.txt
# smbldap-migrate-groups.pl < group2.txt
:
●ユーザー・マップ・ファイルの作成
Windowsからコピーしてきたusername.txtを,Sambaで使用する文字コード(coding system)に合わせるため以下のよう(EUCに)コード変換する。
# nkf -e usermap.txt > /etc/samba/usermap
●ログオン・スクリプトの移行
ユーザーにログオン・スクリプトが設定されている場合は,WindowsのNETLOGONディレクトリにあるスクリプトをSambaサーバーの/var/samba/netlogonにコピーする。ユーザーがどのスクリプトを実行するかは,以下のように設定する。残念ながら,この設定情報をNTからSambaに移行するツールは,現在のSamba2.2系には用意されていない。
# smbldap-usermod.pl -E "logon.cmd" test
移行手順
(zM)共有データをNTからSambaへコピー
残念ながら,Windowsの共有をSambaに移行するツールはまだ存在しない。以降のSambaの設定と併せて手作業で共有の設定を行い,データをコピーするしかない。
移行手順
(zN)NTドメインのSID(セキュリティ識別子)をSambaへコピー
前回,NTドメインをSambaに移行するに際し,NTドメインのSID(セキュリティ識別子)をSambaにスムーズにコピーできるよう,SambaのWinbind機能について一通り解説した。NTドメインが持っているSIDをSambaマシンにコピーするには,Windows PDCが動いていて,SambaとWinbindが停止している状態で,Sambaサーバーで以下のコマンドを実行する。
smbpasswd -S -r ドメイン・サーバー名
なお,このSIDは,ドメイン名やホスト名に依存したものであり,移行時に変更することはできないので注意していただきたい。
Samba2.2では,これまで使用していた移動プロファイルが使用できない。これはNTサーバーとSambaサーバーの間でドメインSIDはコピーできるものの,各ユーザーやグループが持つSIDをコピーできないためだ。
プロファイル自体は各Windowsクライアントに保存されているので,最初のログオン時にエラーが発生するが,問題なく動作するので無視していただきたい。
なお,Samba 3.0で提供されるVIMPIREコマンドでは,PWDUMPコマンドを利用しなくてもユーザーやグループの移行が簡単に行える。しかも,各ユーザーのSIDもコピーされるので,移動プロファイルも問題なく移行できる。
移行手順
(VI)SambaマシンをLDAP用に修正し,PDCとして設定
ユーザー情報がLinux側にコピーされたところで,Windows NTのドメイン・コントローラのPDCやBDCを停止する必要がある。ドメインSIDをSamba側にコピーしたので,Sambaをドメイン・コントローラとして起動させた後は,Windows NTのPDCやBDCが動いていてはならないのだ。
SambaサーバーをPDC/BDCとしてドメインを構築する場合は,表1[拡大表示]に従ってPDC,BDC,メンバー・サーバーのsmb.conf設定を変更する。SambaとLDAPを利用した環境では,ユーザー情報はすべてLDAPに格納されているので,SambaのPDC,BDCといった役割を簡単に変更できる。
このような事情から,Sambaを複数台利用する場合は,1台だけをPDCに設定し,それ以外はすべてBDCにすると良いだろう。また,SambaをPDCに設定するときはWINSサーバーにもした方が良いが,その場合にWindowsクライアントのWINS設定の変更を忘れずに実施しよう。
●smb.confの設定
SambaサーバーをLDAPを利用するドメイン・コントローラとして動作させるには,smb.confに以下の項目を設定する(下記以外のものについては,SWATのドキュメント等を参照していただきたい)。
●ldap server
LDAPサーバーが稼働しているホスト名を指定する。デフォルトはlocalhost(同一マシン)である。
例)ldap server = ldap1.miraclelinux.com
●ldap suffix
アカウント検索のためのDN(Distinguished Name)を指定する。
例)ldap suffix="dc=miraclelinux,dc=com"
●ldap admin dn
LDAP管理者のDNを指定する。これは/etc/openldap/slapd.confに指定したものと同一とする。また,この管理者のパスワードはsmbpasswdコマンド(smbpasswd -w パスワード)で設定する。
例)ldap admin dn = "cn=Manager,ou=people,dc=miraclelinux,dc=com"
●ldap filter
sambaAccountオブジェクトクラスからログイン名,uidを検索するためにフィルタを指定する。これはデフォルトのままで使用する。
例)ldap filter = "(&(uid=%u)(objectclass=sambaAccount))"
●ldap port
LDAPサーバーにアクセスするときのポート番号を指定する。SSLで暗号化する場合は636を使用し,暗号化しない場合は389を使用する。
●ldap ssl
LDAPとの通信をSSLで暗号化する場合はon,しない場合はoffとする。LDAPv3 StartTLS 拡張を使用する場合はstart_tls を使用する。
smb.confの設定例を図4[拡大表示]に示した。図4では,WindowsクライアントからSambaおよびUNIX/Linuxのパスワードが変更できるように,unix password sync関連のパラメータも設定してある。
設定が完了したら,Sambaを起動する。
# service smb restart
ldap admin dnパラメータのところでも述べたが,LDAP管理者のパスワードをsmbpasswdコマンドで設定することを忘れないようにすること。
# smbpasswd -w miracle