几个小时以来,我一直在嘲笑我。 我想创build一个可以访问所有dovecot账户的主用户。 我已经按照dovecot网站上的教程,但是,它仍然说“身份validation失败”或“等待身份validation过程回应”,它永远不会工作。 我可能在这里做错了什么? 谢谢
//dovecot.conf
# 2.0.16: /usr/local/etc/dovecot/dovecot.conf # OS: FreeBSD 8.2-RELEASE amd64 auth_master_user_separator = * disable_plaintext_auth = no mail_location = maildir:~/Maildir namespace { inbox = yes location = prefix = INBOX. separator = . type = private } passdb { args = /usr/local/etc/dovecot/dovecot-sql.conf driver = sql } passdb { args = /usr/local/etc/dovecot/passwd.master driver = passwd-file master = yes } protocols = imap pop3 service auth { client_limit = 6000 } service imap { process_limit = 2048 vsz_limit = 1256 M } service pop3 { process_limit = 2048 } userdb { args = /usr/local/etc/dovecot/dovecot-sql.conf driver = sql } userdb { driver = passwd } protocol pop3 { pop3_uidl_format = UID%u-%v } --> as instructed from http://wiki.dovecot.org/Authentication/MasterUsers
猫passwd.master
master:{SHA}E9RIKlmYWisBS3ObR16GwKUZNZg=
telnet localhost 143
Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. a login loginuser*master mypassword * OK Waiting for authentication process to respond.. * OK Waiting for authentication process to respond.. * BYE Disconnected for inactivity. Connection closed by foreign host.
要么
telnet localhost 143 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=PLAIN 1 login loginuser*master mypassword 1 NO [AUTHENTICATIONFAILED] Authentication failed. * BYE Disconnected for inactivity. Connection closed by foreign host.
// dovecot -n
# 2.0.16: /usr/local/etc/dovecot/dovecot.conf # OS: FreeBSD 8.2-RELEASE amd64 auth_master_user_separator = * disable_plaintext_auth = no login_greeting = CFI mail server ready. mail_location = maildir:~/Maildir namespace { inbox = yes location = prefix = INBOX. separator = . type = private } passdb { args = /usr/local/etc/dovecot/dovecot-sql.conf driver = sql } passdb { args = /usr/local/etc/dovecot/passwd.master driver = passwd-file master = yes } protocols = imap pop3 service auth { client_limit = 6000 } service imap { process_limit = 2048 vsz_limit = 1256 M } service pop3 { process_limit = 2048 } userdb { args = /usr/local/etc/dovecot/dovecot-sql.conf driver = sql } userdb { driver = passwd } protocol pop3 { pop3_uidl_format = UID%u-%v }
终于搞定了! 首先,我必须auth_master_user_separator = +而不是“ ”。 这删除了dovecot对auth_username_chars不允许用户名字符的投诉:0x2a(username:loginuser master)“
然后意识到我使用htpasswd命令将错误文件/usr/local/etc/dovecot/dovecot.master添加了主密码logging,但在我的configuration中,正确的文件是/usr/local/etc/dovecot/passwd.master。 我不知道我怎么看不到这么快。
最后,我没有使用telnettesting主用户login。 我正在使用“1loginloginuser +主mypassword”而不是“[email protected]+master mypassword”
最后,我在dovecot.conf中的configuration看起来像
auth_master_user_separator = + #auth_username_chars = * #dovecot complains about the “*” character auth_verbose = yes auth_debug = yes auth_debug_passwords = yes passdb { driver = passwd-file args = /usr/local/etc/dovecot/passwd.master master = yes #pass = yes } passdb { #driver = shadow driver = pam } userdb { driver = passwd }