最近,在我工作的公司,我们遇到了一次系统崩溃,我们正在找出原因。我们的机器配置了 LDAP 身份验证,其中一些机器还配置了一些本地用户。LDAP 身份验证工作正常,但我们从日志中发现,对于本地用户,有一些 LDAP 查询我们认为这可能与崩溃有关。我正在解决这个问题,更改 nsswitch.conf、pam 模块等,但我无法摆脱本地用户的 LDAP 调用。有人知道如何停止本地用户的 LDAP 查询吗?
提前非常感谢您。
我们的机器安装了 SuSE Linux 11 SP2 和 OpenLDAP 2.4。这是 nsswitch.conf
passwd: compat
group: files ldap
hosts: files dns
networks: files dns
passwd_compat: ldap
group_compat: ldap
更新
这是记录的来自 LDAP 服务器尝试登录后在另一台机器上来自一个用户客人是该机器本地的
Jul 29 11:00:45 vmtemplate slapd[2465]: conn=1627 op=1 SRCH base="dc=test,dc=com" scope=2 deref=0 filter="(&(objectClass=posixAccount)(uid=guest))"
Jul 29 11:00:45 vmtemplate slapd[2465]: conn=1627 op=2 SRCH base="dc=test,dc=com" scope=2 deref=0 filter="(&(objectClass=posixGroup)(memberUid=guest))"
Jul 29 11:00:47 vmtemplate slapd[2465]: conn=1008 op=407 SRCH base="dc=test,dc=com"
答案1
简而言之,你不能这样做,除非将其ldap
从 nsswitch.conf 中删除,否则练习的目的就无法实现。
一些电话想这些数据。一个简单的例子是运行以下命令,它肯定会触发你的同事们正在焦急地查看的任何日志过滤器:
getent passwd
这将转储所有用户,包括本地系统和 LDAP 中的用户。要了解如何处理重复的用户名/uid,重要的是要想象如果这些重复条目实际上在 中/etc/passwd
,按照 看到的顺序,会发生什么getent passwd
。据我所知,这从未导致任何崩溃,否则,每个糟糕的软件供应商如果将第二个 uid 为 0 的用户添加到系统,都会立即使机器瘫痪。