我有 Windows Server 2008 R2 作为 AD 服务器,Debian Squeeze 和 Dovecot 1.2.15 作为 IMAP 服务器。当我尝试使用 telnet 登录时,Dovecot 冻结并且没有任何反应。
# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE AUTH=LOGIN AUTH=PLAIN] Dovecot ready.
a LOGIN user pass
* OK Waiting for authentication process to respond..
* BYE Disconnected for inactivity.
但如果我使用了错误的用户/密码 - Dovecot 会告诉我:
# telnet localhost 143
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
* OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE AUTH=LOGIN AUTH=PLAIN] Dovecot ready.
a LOGIN user wrongpass
a NO [UNAVAILABLE] Temporary authentication failure.
mail.log(使用正确的登录名/密码):http://pastebin.com/DTMd8Sh0(用户 - 邮件用户,域.localnet - 我的域)
配置:
dovecot.conf-http://pastebin.com/2C3Ak5k4
dovecot-ldap.conf-http://pastebin.com/nY6KQHCX
创建用户 vmail 和 postfix,vmail:vmail 是 /var/vmail 的所有者。
aduser 和 user 是在 AD 中创建的。
Squid、Openfire 和 Postfix(绑定到 AD)在同一台服务器上成功运行。
答案1
解决方案。需要使用静态用户数据库:
userdb static {
args = uid=1001 gid=1001 home=/var/vmail/%u allow_all_users=yes
}