ldap - 无法在 Ubuntu 18.04 LTS 上进行 ldap 身份验证
问题描述
我正在尝试使用以下指南在 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
$
解决方案
从提供的信息可以看出,您的 LDAP 服务器工作正常,但作为 LDAP 客户端的 NSS 模块却不是这样。您应该检查它是否/etc/ldap.conf
包含正确的搜索库和 LDAP 服务器 URI。或者,您可以运行sudo dpkg-reconfigure ldap-auth-config
以进行交互式编辑。
PAM 似乎配置正确。如果没有,它总是可以通过交互式实用程序修复pam-auth-update
。
此外,您遵循的所有指南都建议您安装libnss-ldap
实现。如果您要使用桌面版 Ubuntu,请注意systemd-logind
和之间存在已知问题libnss-ldap
。解决方案是使用较新的包libnss-ldapd
。有关详细信息,请参阅此答案。
推荐阅读
- javascript - 为什么 datepicker 日历不会给出分配的值?
- spring-boot - Spring Boot 不使用 cassandra 提交更改
- javascript - 如何以角度导出成员formModule
- angular - Angular 5 - 重定向后数据未绑定
- python - django-user-accounts 登录成功后不重定向
- npm - 'npm 错误!404 Not Found: async-validator' 在安装 Element-UI 时
- c# - 通过 xamarin.forms 中的自定义 UI 将数据添加到用户帐户
- java - 谷歌同意 SDK
- binary - 是否可以在 ppc/mips 二进制文件中找到内存、字符串或类似的内存复制函数?
- c++ - OpenCv边框顶部和左侧OpenGL框架c ++