无法在Ubuntu 18.04 LTS上进行ldap身份验证

时间:2019-02-14 23:27:55

标签: ldap ubuntu-18.04 pam ldap-client

我正在尝试使用以下指南在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
$

1 个答案:

答案 0 :(得分:0)

从提供的信息中可以看出,您的LDAP服务器正常运行,但是NSS模块(这是您的LDAP客户端)却并非如此。您应该检查/etc/ldap.conf是否包含正确的搜索库和LDAP服务器URI。另外,您可以运行sudo dpkg-reconfigure ldap-auth-config进行交互式编辑。

PAM似乎配置正确。如果没有,则始终可以通过交互式实用程序pam-auth-update进行修复。

此外,您遵循的所有指南都建议您安装libnss-ldap实现。如果要使用桌面版Ubuntu,请注意systemd-logindlibnss-ldap之间存在已知问题。解决方案是使用更新的软件包libnss-ldapd。有关详情,请参见此answer

相关问题