我至少在 centos 7 上设置了 ldap 服务器,并让 getent passwd 用户和 ldapsearch 都能正常工作。然后我继续设置一个客户端,它也运行良好,包括 getent passwd 和 ldapsearch 命令。然后我在一些问题之后设置了第二个客户端,这些问题我相信更多是通过复制和粘贴让 client-2 也可以处理 getent 和 ldapsearch 命令。当然都是在VM机器上。
但是令人惊奇的是在 ldap 服务器上,getent passwd 不会返回任何 ldap 用户信息,ldapsearch 可以正常工作。 getent passwd 适用于两个客户端,但不适用于服务器。我不相信我已经改变了 ldapserver 上的任何东西,毕竟它正确地回答了客户端。我应该在哪里看的任何想法?我查看了 ldap.conf,定义或未定义 URI 和 BASE 没有区别。感谢您对此事的任何了解。
最佳答案
我必须运行以下命令才能使 ldap 服务器正确运行 getent passwd ldap-user
authconfig --enableldap --enableldapauth --ldapserver="instructor.example.com"--ldapbasedn="dc=davinci,dc=example,dc=com"--update
当然,您必须使用自己的域名和服务器。将触及两个文件:
/etc/nsswitch.conf
/etc/pam.d/system-auth
关于centos - getent passwd 在 centos 7 上的 openldap 服务器上不返回任何内容(最低),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37422772/