如何在pam_ldap中使用来自OpenLDAP的SHA-256散列(和腌制)密码?

我在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