Domain Users
NT グループを Samba 4.7.6 Active Directory ドメイン コントローラーとは異なる UNIX グループにマップしたいのですusers
が、これを実行しようとすると、次のように失敗します。
> 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 へのグループ マッピングを管理する適切な方法は何ですか?
編集:Sambaのメーリングリストで、同様の問題なので、内部 LDAP サーバーを直接変更することで回避できるでしょうか? たとえば次のようになります:
ldbadd /var/lib/samba/private/sam.ldb.d/metadata.tdb ...
残念ながら、私は LDAP の経験がないので、自分のユースケースに有効な LDIF ファイルを提供する方法がわかりません。
編集2:おかげでLDAP での Samba 4 ユーザーとグループ管理に関するブログ投稿、NT グループがマップされる UNIX グループを編集することができました。
> 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
私のユースケースでは正しいグループを報告することがどれほど重要であるかはわかりませんが、これを回答として使用して解決済みとしてマークする前に、それを変更できるかどうかを確認します。
答え1
私が集めた情報から判断すると、組み込みの LDAP サーバーを直接編集する以外に、これを適切に構成できるツールは Samba 4 には存在しないようです。
このnet
ツールは組み込みの LDAP サーバーではうまく動作しないようで、グループ マッピングの一覧表示や権限の付与など、一部の操作のみが成功しますが、グループのメンバーの一覧表示やグループ マッピングの変更は機能しません (私の質問にあるように)。
マッピングを変更するには、root として次のコマンドを実行しました。まず、 の SID を取得する必要がありますDomain Users
。これは、Samba サーバーのプロビジョニングごとに一意になるためです。
root> net groupmap list ntgroup='Domain Users'
Domain Users (S-1-5-21-1580746459-3543417057-3597883204-513) -> users
xidNumber: 100
次に、目的の UNIX GID で更新して、組み込み LDAP サーバーの SID のレコードを更新します。
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
250
これをという UNIX グループのGID に変更した場合share
、 を呼び出すと、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: