我正在运行 Dovecot,并且在密码文件中有多个虚拟用户:http://wiki2.dovecot.org/AuthDatabase/PasswdFile。该文件是 /etc/dovecot/userdb 。我如何才能让用户更改密码?
这是 Debian GNU/Linux(Wheezy)。
答案1
实际上,dovecot 并不关心用户管理。它的主要任务只是进行身份验证和授权通过读取(而不是修改)密码文件,处理 POP3 和 IMAP 连接有时将电子邮件发送至邮箱x. 另外正如安德烈·丹尼尔所说,IMAP/POP3 不是用于用户管理的协议。它是一种获取电子邮件和同步。您需要另一个工具来进行用户管理。
常见的方法是将 userdb 存储在数据库后端,例如 MySQL 或 LDAP。这样,PHP 等 webapp 语言就可以轻松修改它,因为它们有原生驱动程序。这种方法被几个 webmail 所采用,例如这个 Roundcube 插件。
如果您使用密码文件,那么您可能有一个用户使用的脚本或 web 应用程序,并且应该读取密码文件并在密码更改请求时对其进行修改。