当用户的密码由 {SHA} {SSHA} 加密时,我无法使用 ldap 从客户端进行身份验证,而当它由 {CRYPT} 工作时

当用户的密码由 {SHA} {SSHA} 加密时,我无法使用 ldap 从客户端进行身份验证,而当它由 {CRYPT} 工作时

服务器:Centos 7.2,客户端:Debian 8.6

问题是,当密码在服务器端通过 SHA/SSHA 加密时,我无法登录客户端。

客户端站点的 Ldapsearch 可以工作。当我以用户 raj3 的身份询问服务器时,我可以从服务器收到属性。它使用 SSHA 和 CRPYPT 编码的用户密码工作。

在服务器端密码由

ldappasswd -s 密码123 -W -D "cn=admin,dc=pydio,dc=sum,dc=edu,dc=pl" -x "uid=raj3,ou=People,dc=pydio,dc=xxx,dc=edu,dc=pl"

命令:

getent passwd raj3

得到客户的良好反响。

当我拥有通过 SHA/SSHA 编码的密码时,我可以通过 JXpolorer(从同一网络中的 Windows)以用户 raj3 的身份登录到 ldap 服务器,并且可以看到该用户的属性。

2019 年 9 月 2 日新详情:

客户端有:ibpam-ldap,安装由以下人员准备:

aptitude -y  install libnss-ldap libpam-ldap ldap-utils

/etc/pam.d/通用密码

password        [success=2 default=ignore]      pam_unix.so obscure
password        [success=1 user_unknown=ignore default=die]     pam_ldap.so try_first_pass
password        requisite                       pam_deny.so
password        required                        pam_permit.so

我在上面使用 sha512 进行了测试:

password        [success=2 default=ignore]      pam_unix.so obscure sha512 

还有同样的问题。

/etc/nsswitch.conf

passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap
gshadow:        files

hosts:          files myhostname mdns4_minimal [NOTFOUND=return] dns
networks:       files
protocols:      db files
services:       db files
ethers:         db files
rpc:            db files
netgroup:       ldap

/etc/pam_ldap.conf

pam_password crypt

getent passwd raj3 -仅在客户端上使用 root 本地帐户,在其他本地帐户上工作。

我误解了为什么 CRYPT 可以工作,而当命令 getent 在非 root 帐户上不起作用时 SSHA 却不起作用。

ACL olcAccess:{0}to * by dn="cn=admin,dc=pydio,dc=sum,dc=edu,dc=pl" 由用户自行写入 由 * auth 读取

ACL 禁止匿名用户查看 ldap 树是否错误?但是为什么我可以使用这样的 ACL 使用 CRYPT 加密密码登录?这对我来说很难解决。

答案1

我只是猜测,因为这里提供的信息太少。

您是否已安装并正确配置了 pam ldap?似乎已安装并配置了 nss ldap,但这只是您所需的一半。

编辑:你似乎有多个基本问题,而不是一个。因此我建议阅读此指南以开始http://www.tldp.org/HOWTO/archived/LDAP-Implementation-HOWTO/pamnss.html 这是一份久经考验的文档。它应该能帮助您完成这项工作。

答案2

我发现当“{SSHA} i {CRYPT} 存在问题”时会出现:

我在 /etc/pam_ldap.secret 中输入了错误的管理员密码。好吧,这是我的失误。谜团在于:为什么当 /etc/pam_ldap.secret 中的密码错误时,使用 CRYPT 加密的密码的用户可以进行身份​​验证,而使用 SSHA 加密的用户密码却无法进行身份验证?这真是令人头痛。

相关内容