Set*_*yer 11 ldap cache latency sssd
在我们运行 OpenSUSE 12.2 的机器上,我们已经安装了 OpenLDAP 和sssd守护进程。我们正在使用这两个服务进行用户身份验证。最近我们创建了一个脚本,它动态地为我们的虚拟主机创建新的网络用户,但现在我们正在处理一个问题。
sssd 似乎使用了某种缓存,并在getent passwd此期间返回已从 LDAP 中删除的用户。有时它不会立即返回最近创建的用户,因为它在脚本中是必要的(用于使用setfacl和设置权限chown)。
重新启动 LDAP,sssd或者nscd没有帮助,也没有使用sss_cache -U. 我们尝试降低配置中的缓存,sssd但似乎没有任何影响。
在将新用户添加到 LDAP 或完全禁用缓存后,我们需要以某种方式显式刷新缓存。
有没有人遇到过类似的问题?
从手册页(sssd.conf):
NSS configuration options
These options can be used to configure the Name Service Switch (NSS)
service.
enum_cache_timeout (integer)
How many seconds should nss_sss cache enumerations (requests for
info about all users)
Default: 120
Run Code Online (Sandbox Code Playgroud)
我会插入类似的东西:
[nss]
enum_cache_timeout 10
Run Code Online (Sandbox Code Playgroud)
(根据需要调整秒数)
您无法使用 sssd 完全禁用缓存。
您可以完全禁用 sss 作为身份验证提供程序,然后直接查询 LDAP(如果您需要的话)。
例如,在 中/etc/nsswitch.conf,将行更改为:
passwd: files sss
Run Code Online (Sandbox Code Playgroud)
到
passwd: files ldap
Run Code Online (Sandbox Code Playgroud)
/var/lib/sss/db/*| 归档时间: |
|
| 查看次数: |
37024 次 |
| 最近记录: |