多年来,我一直在使用 postfix 和 sasl 以及 dovecot。三天前,通过 PAM 授权 dovecot 停止工作,这意味着 IMAP 或 POP3 不可用。SASL 可以正常工作,因为我可以使用隧道进入openssl s_client -connect myserver.com:993
然而发生了这样的事情:
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE AUTH=PLAIN] Dovecot ready.
a login validuser validpw
a NO [AUTHENTICATIONFAILED] Authentication failed.
a logout
* BYE Logging out
a OK Logout completed.
我在文件中将driver = pam
改为,现在它就可以正常工作了。这让我很困扰,因为花了 2 天时间才修复,但我仍然不知道 PAM 为何会崩溃。driver = shadow
/etc/dovecot/conf.d/auth-system.conf.ext
我正在使用 Wily Werewolf。
uname -a
:Ubuntu 15.10 Linux host.com 4.2.0-35-generic #40-Ubuntu SMP Tue Mar 15 22:15:45 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
答案1
我刚刚在 Ubuntu 14.04.4 上应用更新后遇到了同样的问题。一个正常工作的 dovecot 配置开始在所有身份验证请求中失败。
对我有用的修复方法是在 /etc/dovecot/conf.d/10-master.conf 中。取消注释此行:
#default_vsz_limit = 256M
并提高限制。我将其设置为:
default_vsz_limit = 512M
线索是系统日志中这些稍微损坏的消息(设置后auth_verbose=yes
)10-logging.conf
。
Apr 21 20:48:19 mailserver t of memory [3273]
Apr 21 20:48:21 mailserver dovecot: auth-worker(3273): pam(xxxxx,xx.xx.xx.xx): pam_authenticate() failed: Authentication failure (password mismatch?)
更新(我认为)安装了新版本的 PAM,而且肯定有些东西变得更大了。