我刚刚按照此处的教程安装了一个运行 Debian Buster 的新网络服务器:
https://www.howtoforge.com/perfect-server-debian-10-buster-apache-bind-dovecot-ispconfig-3-1/
它取代了同样运行 Debian 的旧服务器。旧服务器没有 ISPConfig 或 Dovecot。
我把所有用户从旧机器复制到新机器(从 /etc/passwd 和 etc/shadow 复制)。这样就没问题了。我可以使用原始用户名和密码通过 SSH 登录新服务器。
新服务器运行完美,除了一件事:电子邮件。新旧服务器都运行 Postfix。新服务器显然使用 Dovecot 进行身份验证。旧服务器从系统密码文件 (passwd 和 shadow) 获取其邮件用户(和密码)。我不知道新服务器从哪里获取其邮件用户。但我无法使用原始凭据从服务器获取邮件。我使用 Thunderbird 作为我的邮件客户端,当我尝试从新服务器检索邮件时,Thunderbird 会显示以下弹出窗口:
Sending of password for user myname did not succeed. Mail server ---.---.---.--- responded: Authentication failed.
我的 /var/log/mail.info 显示以下行:
Apr 2 02:12:20 enterprise dovecot: pop3-login: Aborted login (auth failed, 1 attempts in 6
secs): user=<myname>, method=PLAIN, rip=--.---.---.--, lip=---.---.---.---, session=
<k60mp0Oi9L1Z+KhX>
(IP 地址已删除)
我怎样才能让它再次与系统 passwd/shadow 文件一起工作?
答案1
为了回答我自己的问题,我需要将以下内容添加到/etc/dovecot/dovecot.conf:
passdb {
driver = shadow
args = blocking=no
}
userdb {
driver = passwd
args = blocking=no
}