我有一个有两个BDB后端的LDAP服务器。 用户帐户分为两个后端。 后端A有一个引用对象到后端B.
我曾尝试在Linux Mint 13上设置LDAP客户端身份validation。getent passwd在后端A和后端B之间列出用户,但在使用su时,su会返回“未知ID”。 但是,使用su从后端A的用户ID工作得很好。
以下是我在客户端(Linux Mint 13)中的/etc/ldap/ldap.conf:
base dc=backendA uri ldaps://ldap.x.example.com ldap_version 3 binddn cn=auth,dc=backendA bindpw admin@123 referrals yes
和客户端中的/etc/ldap.conf:
base dc=backendA uri ldaps://ldap.x.example.com ldap_version 3 binddn cn=auth,dc=backendA bindpw admin@123 rootbinddn cn=admin,dc=backendA pam_password md5 deref always referrals yes nss_base_passwd ou=users,dc=backendA?one nss_base_shadow ou=users,dc=backendA?one nss_base_group ou=roles,dc=backendA?one nss_base_passwd ou=users,dc=backendB?one nss_base_shadow ou=users,dc=backendB?one nss_base_group ou=roles,ou=users,dc=backendB?one
什么可能是错的?
getent passwd只是其中的一部分,它告诉系统可以看到用户,而且ldap正在工作,但是su也可以使用PAM,PAM有它自己的一套规则,而不仅仅是系统用户列表。 正如你使用MINT,你肯定使用PAM。
检查/etc/pam.d/su文件和它加载的任何文件。 你肯定会错过那里的ldapconfiguration。 使用此文档作为configuration它的基础。