首先,我知道这个问题有可能被低估和封闭,但是我想我会继续问这个问题,因为我们的问题是足够真实的。
我们有一个运行OpenLDAP进行身份validation的邮件服务器,以及Postfix + Cyrus。 到目前为止,它一直工作正常。 我们有一个想法来configuration第二个邮件服务器,可能是一个故障转移。 牢记这一点,我们build立了一个服务器,其configuration部分已经完成 – 实质上,它是包括LDAP用户在内的原始服务器的完全复制。
在第二台服务器上创buildLDAP用户时,我们使用默认密码创build了用户。 现在,问题是,我们现在想要为原邮件服务器中的用户提取密码,并将其应用到新邮件服务器中的用户(使用ldapmodify )。 问题在于,用户密码的ldapsearch只给出encryption的密码。
我们如何在新服务器上为用户应用旧密码?
如果您在ldif文件中指定encryption的密码,则新的服务器应该应用密码,用户应该能够使用它。 我不知道你的服务器上的用户是如何组织的,但是这里是一个例子:
dn: uid=johndoe,ou=Users,dc=domain,dc=dom changetype: modify userPassword: {SSHA}AUi2EtvAOqFWfCM3hLgi6mcP+uTD6xfp
这将用户johndoe的密码更改为“sekretPass”。 没有必要对密码进行解密,下次用户想要login时,将由LDAP服务器完成。
为什么不将原始LDAP服务器设置为提供者 ,将新服务器设置为使用者 ,或者换句话说就是主从设置? 我想这就是你应该这样做的方式 – 在LDAP守护程序级别。 有时间去挖掘你的slapd.conf !