web-dev-qa-db-ja.com

SLES 11SP3のユーザーに表示されないドメイングループメンバーシップへの変更

SUSE Enterprise Linux Server Service Pack3を実行しているサーバーlinux02をWindowsActiveDirectoryドメインexample.comに参加させました。問題ありません。

ドメインのfredのようなユーザーは、ssh EXAMPLE\\[email protected]を介して問題なくログインできます。

ドメインユーザーとしてログインしている場合、groupsコマンドを実行すると、すべてのドメイングループに問題はありません。

ログアウトfredそして再起動linux02

Windowsドメインコントローラーで、fredをグループlinux_sudoersのメンバーにします。

fredlinux02にログインし、groupsコマンドを実行しますが、すべての古いグループのみが表示されます。問題:fredlinux_sudoersのメンバーではないようです

wbinfo --group-info=EXAMPLE\\linux_sudoersを実行しているとき、低く、見よ、彼はメンバーのように見えます。
EXAMPLE\linux_sudoers:x:10073:EXAMPLE\fred
しかし、groupsを再度実行すると、新しいグループはまだリストにありません。

ここで、Windowsドメインコントローラーに戻り、新しいユーザーjohnを作成し、そのユーザーをlinux_sudoersのメンバーにします。

johnlinux02に問題なくログインできるようになり、groupsコマンドを実行すると、彼はlinux_sudoersのメンバーであることが示されます。

その後のテストでは、ユーザーはlinux02への最初のログイン時に存在していたドメイングループメンバーシップに基本的にロックされており、ログアウトまたはサーバーの再起動に関係なく、ドメインからの変更は反映されないことが示されています。私は考えが足りません。そこに何かヒントはありますか?

回答:

@ David King正しかった!具体的には、次のコマンドを実行する必要がありました。

service smbfs stop
service winbind stop
rm -rf /var/lib/samba/*tdb

/ var/cache/samba /にファイルがありませんでした

service smbfs start
service winbind start

fredでログインし、groupsを実行すると、彼はlinux_sudoersのメンバーとして表示されます。

ありがとう@ David King

1
Jeff Puckett

問題はタイムアウトです。 Linuxはグループメンバーシップをキャッシュしており、タイムアウトが経過するまでそれらを更新しません。とても迷惑です。さらに厄介なのは、強制的に更新する唯一の方法はキャッシュを削除することです。

/etc/init.d/samba stop
rm -rf /var/cache/samba/* /var/lib/samba/*tdb
/etc/init.d samba start

私はSLESを使用しないので、SLESがサービスを開始/停止する方法に合わせてこれを調整する必要があるかもしれませんが、注意すべき重要なことは、キャッシュを削除するときにsambaとwinbind 必須を停止することです。

2
David King