Linux:服务器重启时 sssd 缓存未被清理,可能是什么原因造成的,如何改变?

Linux:服务器重启时 sssd 缓存未被清理,可能是什么原因造成的,如何改变?

我正在使用它sssd来与我们的 Linux 环境中的 LDAP 用户和组合作。

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

我尝试重新启动服务器,但缓存没有被清除,并且一直显示之前的组名。

我搜索了Google,并在redhat的官方网站上找到了下一个命令:

sss_cache -E

这解决了我的问题并清除了 sssd 缓存,下次运行时 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

  1. 如果没有凭证缓存,任何离线身份验证都将失败。
  2. 将其添加sss_cache -E到您的启动脚本。

如果您在重新启动时清除缓存,那么在可以联系域服务器之前,没有用户能够使用域凭据对该计算机进行身份验证,直到该计算机能够进行身份验证为止。

答案2

  1. 因为 sssd 缓存不存储在 RAM 中,所以它可以在重启后继续存在;
  2. 按照 Brian 的建议进行操作,并将该命令添加到 rc.local。

有关 sssd 缓存的更多信息,请阅读系统上的 man sssd.conf。

答案3

  1. 我相信@natxo asenjo 已经报道过。
  2. 考虑将 sssd 缓存放在 tmpfs 文件系统中 - 请参阅将缓存挂载到 tmpfs 中

相关内容