Linux:sssdcaching在服务器重启时没有被清除,可能是什么原因以及如何改变?

我正在使用sssd ,以便在我们的Linux环境中使用LDAP用户和组。

我必须重命名我的一个Linux用户的LDAP组,并且我注意到在完成编辑组之后,当我在Linux机器上运行: id username时,它一直显示以前的名字(重命名之前)。

我试过重新启动服务器,但没有清理caching,并保持显示我以前的组名称。

我search了Google,并在redhat的官方网站上find了下一个命令:

 sss_cache -E 

这解决了我的问题,并清除了sssdcaching,并在下次运行: id user显示正确的组名称。

但我的问题是:

 1. How come a full server reboot didn't clear the cache? 2. How can I make sure the cache gets deleted when the server is rebooted? 

提前致谢

  1. 没有凭证caching,任何脱机身份validation都将失败。
  2. sss_cache -E添加到启动脚本中。

如果您在重新启动时擦除caching,那么直到可以联系域服务器,用户才能使用域凭据对该机器进行身份validation,直到能够进行身份validation。

  1. 因为sssdcaching没有存储在内存中,所以它在重新启动后仍然存在;
  2. 按照Brian的build议,并将该命令添加到rc.local中。

有关sssdcaching的更多信息,请在您的系统上阅读man sssd.conf。

  1. 我相信已经被@natxo asenjo覆盖了。
  2. 考虑将sssdcaching放置在tmpfs文件系统中 – 请参阅将caching挂载到tmpfs中 。