SUSE Enterprise Linux Server Service Pack3を実行しているサーバーlinux02
をWindowsActiveDirectoryドメインexample.com
に参加させました。問題ありません。
ドメインのfred
のようなユーザーは、ssh EXAMPLE\\[email protected]
を介して問題なくログインできます。
ドメインユーザーとしてログインしている場合、groups
コマンドを実行すると、すべてのドメイングループに問題はありません。
ログアウトfred
そして再起動linux02
Windowsドメインコントローラーで、fred
をグループlinux_sudoers
のメンバーにします。
fred
はlinux02
にログインし、groups
コマンドを実行しますが、すべての古いグループのみが表示されます。問題:fred
がlinux_sudoers
のメンバーではないようです
wbinfo --group-info=EXAMPLE\\linux_sudoers
を実行しているとき、低く、見よ、彼はメンバーのように見えます。EXAMPLE\linux_sudoers:x:10073:EXAMPLE\fred
しかし、groups
を再度実行すると、新しいグループはまだリストにありません。
ここで、Windowsドメインコントローラーに戻り、新しいユーザーjohn
を作成し、そのユーザーをlinux_sudoers
のメンバーにします。
john
はlinux02
に問題なくログインできるようになり、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!
問題はタイムアウトです。 Linuxはグループメンバーシップをキャッシュしており、タイムアウトが経過するまでそれらを更新しません。とても迷惑です。さらに厄介なのは、強制的に更新する唯一の方法はキャッシュを削除することです。
/etc/init.d/samba stop
rm -rf /var/cache/samba/* /var/lib/samba/*tdb
/etc/init.d samba start
私はSLESを使用しないので、SLESがサービスを開始/停止する方法に合わせてこれを調整する必要があるかもしれませんが、注意すべき重要なことは、キャッシュを削除するときにsambaとwinbind 必須を停止することです。