我在OpenLDAP中散列并腌制密码,以便在Linux中通过PAM进行login。 当散列是SHA-1types(含盐或无盐)或纯文本时,设置工作。 在这些情况下,一切正常,用户可以使用这些凭据login。
如果我切换到盐渍SHA-256(SSHA-256)密码,则用户无法使用正确的密码login。 可能pam_ldap不理解SHA-256? 我找不到任何文件说明这个限制,但也找不到configuration示例显示这是可能的。
我需要做什么? 为SHA-256configuration/编译pam_ldap? 使用比PAM更别的东西?
我不得不使用腌制的SHA-256,因为证书已经存在于另一个(领先的)数据存储中,必须同步到OpenLDAP。
看CRYPTfunction? https://www.redpill-linpro.com/techblog/2016/08/16/ldap-password-hash.html
OpenLDAP传递身份validation
OpenLDAP也可以使用外部进程来validation和散列密码。 这些计划是:
CRYPT – 将使用操作系统的crypt库作为密码处理程序SASL – 将使用Cyrus SASL作为密码处理程序Cyrus SASL在2012年最后更新,但CRYPT是POSIX API的一部分,应该不断更新。 所以 – 可以CRYPT给我们一个最新的哈希?
埋葬救援
事实certificate,基于Linux的glibc版本的crypt通过在密码哈希中编码的附加版本scheme支持附加的encryptionscheme,有时称为模块化crypt格式:
1 – MD5 2a – Blowfish / bcrypt 5 – SHA-256 6 – SHA-512