我在Debian Lenny上用Postfix,Dovecot,SASL和MySQL设置了一个电子邮件服务器。
目前,我的dovecot-sql.conf文件中的密码scheme设置为:CRYPT
default_pass_scheme = CRYPT
我想在全球范围内把这个scheme改成SSHA或者MD5-CRYPT,然后用SSHA重新密码。 做这个的最好方式是什么?
Dovecot维基提到不遵循dovecot-sql.conf中定义的默认scheme的密码可以用“{ssha} password”作为前缀,但是我看不到有关将已经存在的scheme更改为新的scheme对于已经在数据库中的所有密码。
谢谢你的帮助!
我并不完全确定,鸽友可以pipe理这一点。 既然现有的密码是encryption的,你不能简单地将它们转换成不同的格式,因为你不知道密码是什么。 如果你有一个密码到期/更改机制,那么你应该能够在那一刻更新哈希。 如果您使用PAM进行身份validation,几乎可以肯定某种“rehash”模块会在将密码与旧哈希匹配成功后,将密码重新哈希到不同的algorithm。
请注意,dovecot中的“crypt”scheme使用支持Modular Crypt Format的crypt()函数,这意味着只要格式正确,它就可以识别多个不同的哈希algorithm。