Samba4 - Samba4AD間でUID/GIDを共通化する方法
Samba 4 はWindowsのユーザ識別SIDをUnixのUID/GIDに対応させるため、idmap.ldbに記録されるxidNumberを使いますが、idmap.ldbはサーバごとに異なり同期もされませんので、ドメインコントローラーになるSamba ドメインコントローラごとにUID/GIDが異なります。 ユーザにUNIX属性を追加することでサーバ間でUID/GIDを共通化させる方法が知られていますがこの場合sam.ldbが追加で使われます。 ところが今回検証したsamba4.3.5ではユーザやグループにUNIX属性を追加しUID/GIDの設定をしても sam.ldbに必要な行が追加されず反映されませんでした。(2018/10/31) 以来新規のSamba4ドメインコントローラでUNIX属性を付加することを試していないので、4.3.5のバグだったか、新しいバージョンでもそうなのかは不明です。 方法は2つ。いや3つで3つ目が小規模環境では本命? 方法1:sam.ldb の既存該当ユーザやグループのエントリに、objectClass: posixAccount (ユーザ) 、 objectClass: posixGroup (グループ)の行を追加する。 Windows端末のユーザ管理ツールRSATでユーザやグループ登録したとき。またコマンドラインから、samba-tool user add USERNAMEやsamba-tool group add GROUPNAMEでUNIX属性なしで登録したときは、UNIX属性をRSATで与えると同時に、sam.ldbに手動でobjectClass: posixAccount(ユーザ)や、objectClass: posixGroup(グループ) の行を追加します。 注意としては、sambaの生DBを編集するから編集時にはsambaを停止しておいたほうが良さそうなのと、キャッシュを削除して再起動しないと(すぐに)反映されないことです。 1.sambaを停止 2.ldbedit -H /usr/local/samba/private/sam.ldb として該当ユーザエントリに、objectClass: posixAccountを...