让我描述一下我试图配置的基础设施。centOS上有一个opne服务器(运行slapd2.4.40)作为一对盒的分布式身份验证方法。
是否有一种方法可以修改用户(使用ldif文件和ldapmodify)来使用已经散列的密码来更改密码?如何防止新哈希不再被散列?
我在没有运气的情况下尝试了很多不同的ldif文件。有什么想法吗?
ldap上的哈希配置是:
password-hash {CRYPT}
password-crypt-salt-format "$5$%.16s"谢谢!
<#>更新:
@Sven谢谢你的回复。我尝试过您的解决方案(我以前也尝试过),它似乎一直在哈希密码.我也改变了哈希的方法。解决方法:假设我希望将用户george的密码更改为SSHA。
password-hash {SSHA}[root@vm ~]# cat test.ldif dn: cn=george,dc=test,dc=com changetype: modify replace: userPassword userPassword: {SSHA}I5CTI/dn+ppf/XA/Jjz6yu+LRfPWqBQW[root@vm ~]# ldapmodify -c -a -f ./test.ldif -w 'rootpass!' -D "cn=root,dc=europa,dc=eu" modifying entry "dn: cn=george,dc=test,dc=com"更改用户我认为在用户修改后搜索时,哈希密码应该出现在用户密码上,对吗?
但是:
{SSHA}I5CTI/dn+ppf/XA/Jjz6yu+LRfPWqBQW !=
e1NTSEF9c0s1QVRZYXVoSFpIdld5bzJTaVp0czlhVTFUNnJBdVM=在那之后,我想如果它被编码了(例如Base64)
但它也不同:
[root@ldap01-prototype:~ ] $ echo {SSHA}I5CTI/dn+ppf/XA/Jjz6yu+LRfPWqBQW >
test;base64 test
e1NTSEF9STVDVEkvZG4rcHBmL1hBL0pqejZ5dStMUmZQV3FCUVcK发布于 2019-01-09 15:35:58
此更改操作应使用预先加密的密码(本例中为1234)。注意{CRYPT}前缀,它告诉OpenLDAP使用标准的CRYPT库来验证密码,而不是像{SSHA}这样的内部方法。
dn: uid=johndoe,ou=users,dc=example,dc=com
changetype: modify
replace: userPassword
userPassword: {CRYPT}$6$NxKjjJP/Jlf$TrtCUMfi1uUpZDtYYvtFO2DlMsxntZ1ulzrTppJkqAZbX1Nv4WhdJ4vJbZcQDyWZVeGadtVQjqUHNZMT1FP8d0注意:使用{CRYPT}实际上只是作为远离/etc/shadow的临时迁移辅助工具。最好将{SSHA}密码与OpenLDAP一起使用。请参阅这以了解如何生成这些信息。
https://serverfault.com/questions/948272
复制相似问题