Debian Jessie 上使用 LDAP 进行 PAM 身份验证未找到 LDAP 用户

Debian Jessie 上使用 LDAP 进行 PAM 身份验证未找到 LDAP 用户

Debian Jessie(具体来说,带有测试存储库的 Debian Server Wheezy x64)

OpenLDAP 2.4.39

libpam-ldapd 0.9.4-1

安装 libpam-ldapd 后,dpkg 配置要求提供我的 LDAP 地址信息(ldapi:\\localhost)并正确检测我的服务器库。

我尝试遵循Debian Wiki 文章但是其中引用的文件并不存在,而且很少有信息可以表明我如何确定 LDAP 正在被查阅。

我已经配置了 OpenLDAP,并加载了 inetorgperson 和 NIS 架构。用户应该具有所有正确的属性。现在,我只是想确定是否正在参考 LDAP,因为似乎没有。

答案1

当您运行 时getent passwd,您是否看到列出了您的 LDAP 用户?如果没有,请确保libnss-ldapd已安装,然后运行dpkg-reconfigure libnss-ldapd​​并确保至少passwd启用了数据库(您可能迟早也会需要)groupshadow

如果getent passwd提到您的 LDAP 用户但您无法以用户身份进行身份验证,请运行pam-auth-update并确保 LDAP 身份验证已启用并nslcd正在运行。

如果安装了nscd(或某些变体,例如),我建议在进行故障排除时停止它,因为它可能会返回缓存的不准确数据。unscd

有关pam_ldap正在做什么的信息已记录到/var/log/auth.log;有关正在nslcd做什么的信息已记录到/var/log/syslog;另一方面slapd,将日志级别调高到stats将让您看到实际nslcd发出的查询、查询是否成功以及返回的结果数。

希望有帮助!

答案2

如果您想在 Debian Jessie 下的网络上使用现有的 OpenLDAP 服务器,那么您应该使用以下软件包:

libnss-ldap 
libpam-ldap

而不是

libnss-ldapd
libpam-ldapd

答案3

我有同样的问题。

我的症状是它getent passwd可以工作,但是使用 samba 和 setquota 登录却不行。

dpkg-reconfigure libnss-ldapd运行并启用后passwd,它现在运行正常。groupshadow

相关内容