当用户密码使用 SSHA 或 SHA 加密时,我很难让 CentOS 通过 ApacheDS 对用户进行身份验证。Crypt 工作正常,但由于其他服务的限制,我确实需要通过 SSHA 进行身份验证。
有其他人遇到过这个问题吗?我肯定我遗漏了什么,但我看不到允许 pam_ldap 通过 SSHA 进行身份验证的设置值。
干杯,-Ed
答案1
抱歉,我已经知道问题出在哪里了。
即使您没有在 /etc/pam.d/system-auth 中添加相关更改,您也可以使用 userPassword 中的 {crypt} 对 posixAccount 进行身份验证。我对此感到很困惑。
一旦我补充说:
auth sufficient pam_ldap.so use_first_pass
account sufficient pam_ldap.so
password sufficient pam_ldap.so ssha use_authtok use_first_pass
session optional pam_ldap.so
它可以很好地处理每个 posixAccount 中的 {SHA} 和 {SSHA} 加密的用户密码。
此外,奇怪的是,getent shadow <user>
只有当您在 posixAccount 中有一个 {crypt} 加密的用户密码时,才会显示密码。其他情况下,它永远不会显示。
干杯,-Ed