注意:2021/04/08現在、samba wiki: https://wiki.samba.org/index.php/Configuring_Winbindd_on_a_Samba_AD_DC#Identity_Mapping_on_a_Samba_Domain_Controller に基づき加筆修正しましたが、現行のversionとは動作がことなるかもしれませんので、この記事はObsoleteとしてください。
------------------------------------------------
idmap backend ridの場合、samba ad dc間は、ではuidとgidが一致しません。backend=ridの場合は、uidとgidはほぼバラバラになります。(上述のwikiによると、idmap backend=adの場合は、デフォルトユーザとデフォルトグループに対して一致させることはできるようです。)
結果として、idmap backend=rid環境では、sysvolをrsyncで同期しても、当然ながらパーミッション(uid/gid)もバラバラになります。となると、sysvolをrsyncで同期させるだけでは不十分なので、sysvolのパーミッションも整合性をとる必要があります。
そこで、実際にsysvolを同期させてみました。sv61は操作マスタ(fsmo)で、sv62が非操作マスタです。
また、強制的にidmap.ldbをコピーしたところ、drs replicateに失敗しました。
また、member マシン(Samba version 4.2, Debian 8 jessie)で、グループ所有を試したところ、idmap_config : backend = rid にて、以下のコマンドは予想に反し「成功」しました。
ところが、idmap_config : backend = adの場合、例えば、/srvを共有するときに, Domain Admins 18000+512=18512の時、以下のように初期設定すると、
以上です。
------------------------------------------------
idmap backend ridの場合、samba ad dc間は、ではuidとgidが一致しません。backend=ridの場合は、uidとgidはほぼバラバラになります。(上述のwikiによると、idmap backend=adの場合は、デフォルトユーザとデフォルトグループに対して一致させることはできるようです。)
結果として、idmap backend=rid環境では、sysvolをrsyncで同期しても、当然ながらパーミッション(uid/gid)もバラバラになります。となると、sysvolをrsyncで同期させるだけでは不十分なので、sysvolのパーミッションも整合性をとる必要があります。
そこで、実際にsysvolを同期させてみました。sv61は操作マスタ(fsmo)で、sv62が非操作マスタです。
sudo rsync -XAavz --chmod=775 --delete-after --progress --stats root@sv61:/var/lib/samba/sysvol/ /var/lib/samba/sysvol/次に、パーミッションの整合性を修正します。
sudo samba-tool ntacl sysvolreset最後にレプリケートの確認をします。
sudo samba-tool drs replicate sv62 sv61 dc=mydomain,dc=site Replicate from sv61 to sv62 was successful.参考までに、sysvol/mydomain.site/Policies/以下の所有者は、デフォルトでは、"Domain Admins" の gid (3000000)になります。
drwxrwx---+ 1 3000000 MYDOMAIN\domain admins 0 5月 4 08:29 . drwxrwx---+ 1 3000000 MYDOMAIN\domain admins 36 5月 4 08:29 ..一方、unix属性を個別に付与するbackend = ad運用では、
drwxrwx---+ 1 MYDOMAIN\administrator MYDOMAIN\domain admins 36 5月 4 08:29 . drwxrwx---+ 1 MYDOMAIN\administrator BUILTIN\administrators 152 5月 4 08:29 ..となります。 unix/linux上ではグループを所有者にする概念がないので、unix属性を個別に付与しないrid運用では、samba ad dcが内部で管理している"Domain Admins"等のgidを、uidとして設定する場合があるようです。
また、強制的にidmap.ldbをコピーしたところ、drs replicateに失敗しました。
また、member マシン(Samba version 4.2, Debian 8 jessie)で、グループ所有を試したところ、idmap_config : backend = rid にて、以下のコマンドは予想に反し「成功」しました。
sudo mkdir Share sudo chmod 1775 Share sudo chown "MYDOMAIN\Domain Users"."MYDOMAIN\Domain Users" Share ls -la Share 合計 12 drwxrwxr-t 2 MYDOMAIN\domain users MYDOMAIN\domain users 6 5月 4 08:42 . drwxr-xr-x 68 1002 root 8192 5月 4 08:42 ..もちろん/etc/nsswithc.confにwinbindを用いていますが、グループが所有者になります。
ところが、idmap_config : backend = adの場合、例えば、/srvを共有するときに, Domain Admins 18000+512=18512の時、以下のように初期設定すると、
sudo mkdir /srv chmod 1771 /srv chown 18512."MYDOMAIN\Domain Users" /srvとしても、idmap解決ができないようで、エクスプローラー毎落ちてしまいます。しかし、一旦
chown "MYDOMAIN\Administrator"."MYDOMAIN\Domain Users" /srvとして、(file system上でacl,xattrが使える状態で)共有を作成し、Windows 端末から、/srvの所有権を変更すると、Domain Usersの所有に変更できます。つまり、idmap backend ad と rid で挙動が違うということのようですが... sambaは奥が深いですね。
以上です。
コメント
コメントを投稿