Winbindを介してドメインに正常に参加しているRedhatES 6サーバーがあります(つまり、ドメイン資格情報を使用して問題なくRedhatサーバーにログインできます)。
この時点で私が探しているのは、ドメイングループに基づいてユーザーをローカルグループに自動的に追加するようにWinbindを構成することです。たとえば、ドメインのユーザー名が「DOMAIN\coledot」で、ドメイングループ「ArbitraryGroup」のメンバーであるとします。 Redhatマシンの/ etc/groupファイルに、ローカルグループ「testgrp」を定義しています。
testgrp:x:10506:
Samba/Winbindグループマップのドキュメント の理解が正しければ、net groupmap
コマンドを使用して、ローカルグループ「testgrp」をドメイングループ「ArbitraryGroup」にマップできるはずです。
net groupmap add ntgroup="Arbitrary Group" unixgroup=testgrp type=d
net groupmap list
を実行すると、マッピングが作成されたことを確認します。
root@Host # net groupmap list
[...]
Arbitrary Group (S-x-x-xx-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxx-xxxx) -> testgrp
ただし、groups
コマンドを実行すると、ユーザーが「任意のグループ」グループの一部として表示されていても、「testgrp」が見つかりません。
私の質問は2つあります:
1)net groupmap
についての私の理解は正しいですか?
2)元のタスク(ドメインユーザーをドメイングループ経由でローカルグループにマップする)を実行するにはどうすればよいですか?
これは/etc/samba/smb.confファイルで実行できると思います。ローカルのLinux権限が正しい場合は、「force group」文字列を使用して、正しいグループメンバーシップに接続していることを確認できます。人々を失望させる傾向があるのは、ユーザーがすでにローカルLinuxグループのメンバーである可能性があるということですが、SMBに関する限り、Windowsから「接続する」グループが重要ですここに。
EXAMPLE:
[someshares]
path=/path/to/someshares
writable = yes
browsable = yes
valid users = @somegroup
create mask = 0775
force create mode = 0775
directory mask = 0775
force group = somegroup
SMBグループからLinuxグループへのこのマッピングはドメインコントローラーでのみ実行されます。メンバーサーバーはこれを自動的に実行します(LDAPによってグローバルに、またはidmapによってローカルに異なります)。
Usermodを介してwinbindユーザーをローカルグループに追加しようとしました。これは失敗しました。おそらく、ユーザーは完全にファイルによって、または完全にwinbind(nsswitch.confを参照)によって管理されますが、両方によって同時に管理されることはありません。
これが機能する場合は、「getent group」を介してグループメンバーを取得し、ローカルグループに追加できます。これは定期的に行うことができ(DCにアクセスできない場合)、DCでのアカウント作成からメンバーサーバーへの最初のアクセス(このアクセスの場合)までの時間だけを残します。次の定期チェックの前です)問題があります。