Linux OS(CentOS)のユーザーはnslcdを経由してOpenLDAPを参照してる環境なのだけど、SUDOで実行可能コマンドをグループで分けていて、そのグループを反映させるのにNSCDがちょっと邪魔するっていうお話。
nscdの設定は/etc/nscd.confで、設定が関係する場所は主に以下の箇所(デフォルト設定から抜粋)。
この設定のままのば場合、LDAP上で設定が変更されてからOSに反映されるまで1時間かかります。
※ただし、ユーザーの新規作成の場合はほぼ即時反映されます。(キャッシュを使わないので当然といえば当然)
1 2 3 4 5 6 7 8 |
paranoia no # restart-interval 3600 positive-time-to-live passwd 600 persistent passwd yes positive-time-to-live group 3600 persistent group yes |
2つチューニング可能な場所があって、
1つめはpositive-time-to-live(秒)の時間を短くする。
基本的にグループのデフォルトの設定は上記の通りでキャッシュ保持時間は1時間(3600秒)となっているので、ここを短くする。
もう1つの手段はparanoiaモードををyesにした上で、restart-interval(デフォルト1時間)を短くして、さらにpersistentをnoにする。
persistentをyesのままにしておくと、せっかくparanoiaモードで自動再起動がかかっても前のキャッシュを保持し続けるので意味がなくる。
※当然restart-intervalのコメントは外す。