如果尝试使用 @domain 登录,Dovecot 身份验证会失败

如果尝试使用 @domain 登录,Dovecot 身份验证会失败

当我尝试使用 telnet 测试我的 IMAP 服务器功能时遇到以下错误。

如果在测试期间我省略@domain.ex,一切都正常(如下所示);

a login user password
a OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT 
SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL 
CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC 
ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS SPECIAL-USE BINARY MOVE] Logged in

如果我尝试使用[电子邮件保护]。我收到以下错误:

a login [email protected] password
a NO [AUTHENTICATIONFAILED] Authentication failed.

有人知道我哪里错了吗?

输出dovecot -n

# 2.2.10: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-openvz-042stab090.5-amd64 x86_64 CentOS Linux release 7.0.1406 (Core)  
auth_mechanisms = plain login
disable_plaintext_auth = no
mail_location = maildir:~/Maildir
mbox_write_locks = fcntl
namespace inbox {
  inbox = yes
  location =
  mailbox Drafts {
    special_use = \Drafts
  }
  mailbox Junk {
    special_use = \Junk
  }
  mailbox Sent {
    special_use = \Sent
  }
  mailbox "Sent Messages" {
    special_use = \Sent
  }
  mailbox Trash {
    special_use = \Trash
  }
  prefix =
}
passdb {
  driver = pam
}
service auth {
  unix_listener auth-userdb {
    group = postfix
    user = postfix
  }
}
ssl = required
ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem
userdb { 
  driver = passwd
}

答案1

对于身份验证驱动程序,您已选择passwd驱动程序。换句话说,将在/etc/passwd文件中查找用户。这里的内容/etc/passwd看起来像。

通常/etc/passwd只包含用户名,缺少域部分。所以,失败的原因很明显。这里一些资源关于使用 passwd auth 的 dovecot。

相关内容