在配置LDAP身份验证时,我遇到了以下问题。
我已经在nsswitch.conf文件中配置了nss,如下所示:
passwd: ldap文件
组:文件
阴影:文件
当我发出以下命令时: getent passwd列出了所有用户,包括本地用户和ldap用户:
getent密码
usr_admin:x:1191:205:usr_admin:/home/usr_admin:/usr/bin/tcsh (LDAP用户)
user_sec:x:1192:205:user_sec:/home/user_sec:/usr/bin/tcsh (LDAP用户)
root:x:0:0:root:/root:/bin/bash (本地用户)
bin:x:1:1:bin:/bin:/bin/bash (本地用户)
然而,当我给getent一个密钥的时候:
getent密码根目录
root:x:0:0:root:/root:/bin/bash
它只适用于本地用户。这意味着当我给出一个ldap服务器的密码时,没有列出任何东西: getent user_id usr_admin
(此处未列出任何内容。)
有什么建议为什么会发生这种情况吗?
发布于 2016-05-26 04:25:55
我设法解决了这个问题。是nscd服务造成了这个问题。通过关闭nscd或重新启动它,我现在能够正确地使用getent passwd ldapuser。
发布于 2016-05-24 23:12:23
我在centos 7上设置了ldap服务器,我可以在服务器和客户端上获得"getent passwd lapduser“,但现在我只能在ldap客户端上获得它。我设置了第二个客户机,也有同样的问题,但ldapsearch可以工作,并为用户返回信息。在服务器配置端重置了一些东西!
发布于 2018-04-13 22:29:47
我在Solaris上发现了一个类似的问题,它可能也适用于这里。
检查以下差异:
Diss70:etc$ getent group sysadmin
sysadmin::14:
abss70:etc$ getent group |grep^sysadmin
sysadmin::14:
sysadmin::14:根,user1,user2
Diss70:etc$
这破坏了我工作了一段时间的脚本。我怀疑上面的示例中是否有完整的列表,但那里可能也有两个根条目。
https://stackoverflow.com/questions/37393621
复制相似问题