首先,我知道这个问题有可能被否决和关闭,尽管如此,我认为我还是会继续问这个问题,因为我们的问题是真实存在的。
我们有一台运行 OpenLDAP 进行身份验证和 Postfix+Cyrus 的邮件服务器。到目前为止,它运行良好。我们有一个想法,即配置第二台邮件服务器,可能作为故障转移。考虑到这一点,我们构建了一台配置部分已完成的服务器 - 即,本质上,它是原始服务器的精确副本,包括 LDAP 用户。
在第二台服务器上创建 LDAP 用户时,我们使用默认密码创建了用户。现在的问题是,我们暂时想要提取原始邮件服务器中用户的密码,并将其应用于新邮件服务器中的用户(使用ldapmodify
)。问题是执行并且ldapsearch
只userPassword
给出加密密码。
我们如何在新服务器中为用户应用旧密码?
答案1
如果您在 ldif 文件中指定了加密密码,则新服务器应应用该密码,并且用户应该能够使用它。我不知道您的服务器中的用户是如何组织的,但这里有一个示例:
dn: uid=johndoe,ou=Users,dc=domain,dc=dom
changetype: modify
userPassword: {SSHA}AUi2EtvAOqFWfCM3hLgi6mcP+uTD6xfp
这会将用户的密码更改johndoe
为“sekretPass”。无需解密密码,下次用户登录时,LDAP 服务器会进行解密。
答案2
为什么不将原始 LDAP 服务器设置为提供者 并将新服务器作为消费者,或者换句话说是主从设置?我想无论如何你都应该这样做——在 LDAP 守护进程级别。是时候深入研究你的了slapd.conf
!