如何为已有的邮件服务器更改Dovecot用户身份validation的密码架构

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