我正在使用它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
- 如果没有凭证缓存,任何离线身份验证都将失败。
- 将其添加
sss_cache -E
到您的启动脚本。
如果您在重新启动时清除缓存,那么在可以联系域服务器之前,没有用户能够使用域凭据对该计算机进行身份验证,直到该计算机能够进行身份验证为止。
答案2
- 因为 sssd 缓存不存储在 RAM 中,所以它可以在重启后继续存在;
- 按照 Brian 的建议进行操作,并将该命令添加到 rc.local。
有关 sssd 缓存的更多信息,请阅读系统上的 man sssd.conf。
答案3
- 我相信@natxo asenjo 已经报道过。
- 考虑将 sssd 缓存放在 tmpfs 文件系统中 - 请参阅将缓存挂载到 tmpfs 中。