【发布时间】:2010-10-01 00:29:45
【问题描述】:
我们有一个 SELinux 客户端,它使用连接到 Active Directory 服务器的 LDAP 对网络用户进行身份验证。由于我们的机器必须“不受限制”地运行,我们必须使用 nscd 来缓存组和密码信息。
这就是问题所在。如果我们在 Active Directory 服务器上更改组信息,然后登录客户端,如果该用户存在缓存,LDAP 似乎会忽略服务器并仅使用缓存的数据。我们能够获得更新的唯一方法是使 passwd 缓存失效。
/etc/nsswitch.conf 的重要部分:
passwd:文件 ldap 缓存 组:文件 ldap 缓存 shadow:文件 ldap 缓存谢谢。
更新: 发现运行strace getent passwd 会在读取 /etc/nsswitch.conf 之前检查 nscd 缓存,因此 nss 的配置无关紧要。
更新 2: 今天玩 nss_updatedb 看看它是否会工作。到目前为止还没有任何乐趣,尽管this howto 看起来正是我们需要做的。
【问题讨论】:
-
我没有在其中看到与编程相关的问题。
-
EBGreen,对于所有其他标记为 SELinux 的问题都可以这么说,并且可能还有许多标记为 nss、ldap 和 activedirectory 的问题。配置是解决方案的一部分。
-
很公平。我仍然认为配置(尤其是 AD 和 LDAP 等企业级配置)与 IT 无关。因为这不是我一个人做的决定,所以我的意见分歧不会造成伤害。
标签: active-directory ldap nss selinux