我正在尝试使用以下指南在Ubuntu上启用LDAP身份验证: https://computingforgeeks.com/how-to-configure-ubuntu-18-04-ubuntu-16-04-lts-as-ldap-client/
https://help.ubuntu.com/community/LDAPClientAuthentication
https://www.youtube.com/watch?v=l0e8rG0mku8
到目前为止,似乎一切都没有。 ldapsearch有效,但是我无法使用“ id”和“ getent”命令登录或测试。 与手册的唯一区别在于,我没有ldap管理员帐户,也没有指定帐户,但是我认为这不会破坏其余的权限。 感谢有关如何对PAM和ldap客户端进行故障排除的任何建议
cat /etc/nsswitch.conf
passwd: files ldap
group: files ldap
shadow: files ldap
gshadow: files
. . .
cat /etc/pam.d/common-session
session [default=1] pam_permit.so
session requisite pam_deny.so
session required pam_mkhomedir.so umask=0022 skel=/etc/skel/
session required pam_permit.so
session optional pam_umask.so
session required pam_unix.so
session optional pam_ldap.so
session optional pam_systemd.so
sudo nano /etc/pam.d/common-auth
auth required pam_group.so use_first_pass
auth [success=2 default=ignore] pam_unix.so nullok_secure try_first_pass
auth [success=1 default=ignore] pam_ldap.so use_first_pass
auth requisite pam_deny.so
auth required pam_permit.so
auth optional pam_cap.so
sudo nano /etc/pam.d/common-password
password requisite pam_pwquality.so retry=3
password [success=2 default=ignore] pam_unix.so obscure use_authtok try_first_pass sha$
password [success=1 user_unknown=ignore default=die] pam_ldap.so use_authtok try_first_$
password requisite pam_deny.so
password required pam_permit.so
password optional pam_gnome_keyring.so
$ ldapsearch -x -H ldap://ldap.server.com -b ou=employee,o=test,c=an -LLL "(alias=test_username)" cn
dn: cn=Test User 5142,ou=employee,o=slb,c=an
cn: Test User
cn: Test User 5142
$su - test_username
No passwd entry for user 'test_username'
$ getent passwd test_username
$
答案 0 :(得分:0)
从提供的信息中可以看出,您的LDAP服务器正常运行,但是NSS模块(这是您的LDAP客户端)却并非如此。您应该检查/etc/ldap.conf
是否包含正确的搜索库和LDAP服务器URI。另外,您可以运行sudo dpkg-reconfigure ldap-auth-config
进行交互式编辑。
PAM似乎配置正确。如果没有,则始终可以通过交互式实用程序pam-auth-update
进行修复。
此外,您遵循的所有指南都建议您安装libnss-ldap
实现。如果要使用桌面版Ubuntu,请注意systemd-logind
和libnss-ldap
之间存在已知问题。解决方案是使用更新的软件包libnss-ldapd
。有关详情,请参见此answer。