NTグループDomain Users
をSamba4.7.6 ActiveDirectoryドメインコントローラーのusers
とは別のUNIXグループにマップしたいのですが、これを実行しようとすると、次のように失敗します。
> net groupmap modify ntgroup='Domain Users' unixgroup='share' type=domain
Could not update group database
[255]
これをwinbindで実行できると読んだので、試しましたが、次のエラーが発生します。
> wbinfo --set-gid-mapping=1000,S-1-5-21-...-513
failed to call wbcSetGidMapping: WBC_ERR_NOT_IMPLEMENTED
Could not create or modify gid to sid mapping
[1]
Samba 4でNTからUNIXへのグループマッピングを管理する適切な方法は何ですか?
EDIT:Sambaメーリングリストで 同様の問題 の人を見つけたので、おそらく内部LDAPサーバーを直接?何かのようなもの:
ldbadd /var/lib/samba/private/sam.ldb.d/metadata.tdb ...
残念ながら、私はLDAPの経験がないため、ユースケースに有効なLDIFファイルをLDAPに提供する方法がわかりません。
EDIT2:LDAPでのSamba 4ユーザーとグループの管理に関するブログ投稿 のおかげで、UNIXグループを編集することができました。 NTグループのマップ:
> ldbedit -e nano -H /var/lib/samba/private/idmap.ldb '(objectSid=S-1-5-21-1580746459-3543417057-3597883204-513)'
> wbinfo --group-info='Domain Users'
AD.EXAMPLE\domain users:x:100:
> net groupmap list ntgroup='Domain Users'
Domain Users (S-1-5-21-1580746459-3543417057-3597883204-513) -> share
したがって、適切なグループは現在net groupmap
によって報告されていますが、wbinfo
は引き続き古い値を報告しているため、おそらくそのデータベースからデータを取得していません。 wbinfo
が適切なグループを報告することが私のユースケースにとってどれほど重要かはわかりませんが、これを答えとして使用して解決済みとマークする前に、それも変更できるかどうかを確認します。
私がまとめることができたものから、組み込みのLDAPサーバーを直接編集する以外に、これを適切に構成できるツールがSamba4で利用できないようです。
net
ツールは、組み込みのLDAPサーバーではうまく機能しないようです。成功するのは、一部の操作のみです。グループマッピングの一覧表示と権限の付与は機能しますが、グループのメンバーの一覧表示やグループマッピングの変更は機能しません(私の質問に見られるように)。
マッピングを変更するには、rootとして次のコマンドを実行しました。まず、Domain Users
のSIDを取得する必要があります。これは、Sambaサーバーのプロビジョニングごとに一意になるためです。
root> net groupmap list ntgroup='Domain Users'
Domain Users (S-1-5-21-1580746459-3543417057-3597883204-513) -> users
次に、目的のUNIXGIDでxidNumber: 100
を更新することにより、SIDの組み込みLDAPサーバーのレコードを更新します。
root> ldbedit -e nano -H /var/lib/samba/private/idmap.ldb '(objectSid=S-1-5-21-1580746459-3543417057-3597883204-513)'
# 0 adds 1 modifies 0 deletes
これをshare
というUNIXグループのGID250
に変更した後、net groupmap
を呼び出すと、報告されたグループはshare
になります。
root> net groupmap list ntgroup='Domain Users'
Domain Users (S-1-5-21-1580746459-3543417057-3597883204-513) -> share
ただし、wbinfo
のwinbindd
は引き続き古いGIDを報告します。
root> wbinfo --group-info='Domain Users'
AD.EXAMPLE\domain users:x:100:
したがって、Domain Users
のキャッシュエントリを無効にする必要があります。いくつかの実験の後、更新されたGIDを検索するように依頼することで、なんとかそうすることができました。
root> wbinfo --gid-info 250
AD.EXAMPLE\domain users:x:250:
その後、--group-info
によって正しく報告されます。
root> wbinfo --group-info='Domain Users'
AD.EXAMPLE\domain users:x:250: