質問

Active Directoryサーバーに接続するLDAPを使用してネットワークユーザーを認証するSELinuxクライアントがあります。私たちのマシンは「自由に」動作する必要があるため、 nscdを使用してグループとパスワード情報をキャッシュする必要があります。

ここに問題があります。 Active Directoryサーバーのグループ情報を変更し、クライアントにログインし、そのユーザーのキャッシュが存在する場合、LDAPはサーバーを無視し、キャッシュされたデータのみを使用するようです。更新を取得できた唯一の方法は、passwdキャッシュを無効にすることです。

/etc/nsswitch.confの重要な部分:

    passwd: file ldap cache
    group:  file ldap cache
    shadow: file ldap cache

ありがとう。

更新: /etc/nsswitch.confが読み取られる前にnscdキャッシュがチェックされる strace getent passwd を実行すると、nssの構成は問題になりません。

更新2:今日nss_updatedbを試して、動作するかどうかを確認します。これまでのところ、このハウツーはまさに私たちがやるべきことのように見えますが、喜びはありません。

役に立ちましたか?

解決 2

最後に、nss_updatedbを使用してグループとpasswdデータベースをローカルにキャッシュすることでこれを解決しました。次に、nscdをオフにしました。

pam.dリストにpam_execモジュールを追加し、認証の前にnss_updatedbを実行してローカルキャッシュが最新であることを確認するために使用します。

他のヒント

Active Directoryからの結果をキャッシュしたくない場合は、nscdをオフにするか、キャッシュの有効期間を数分に設定する必要があります(/etc/nscd.confを編集します)。 デフォルトの有効期間は、パスワードの場合は10分、グループの場合は1時間です。

次のコマンドを使用すると、nscdキャッシュを簡単にフラッシュできます。

sudo nscd -i passwd
sudo nscd -i group

指定されたコマンドでnscdキャッシュをフラッシュすると、変更されたLDAPデータが表示されます。

詳細については、 http://sysadmin-notepad.blogspot.rs/2013/05/how-to-flush-nscd-cache-in-linux.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top