在将Fedora Core 16升级到Fedora Core 21之后,新的Dovecot安装不能正确进行身份validation,原因并不清楚。
我们有50个以上的电子邮件帐户服务器,所以我希望保持以前的计划为人们工作。
多年来,我们一直在使用CRAM-MD5。 我移动了configuration,根据需要更新了新版本(2.2.15-3),并尝试连接。 日志说:
Requested CRAM-MD5 scheme, but we have only CRYPT
但是,当我遵循Dovecot网站的testing指导(可以在http://wiki2.dovecot.org/TestInstallationfind)时,testing命令显示CRAM-MD5确实可用:
# telnet localhost 143 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE IDLE STARTTLS AUTH=CRAM-MD5 AUTH=DIGEST-MD5 AUTH=PLAIN AUTH=LOGIN] Dovecot ready.
可以看出,CRAM-MD5是第一个被支持的授权types。
而且,鸽舍参数testing程序没有显示任何问题,
# dovecot -n # 2.2.15: /etc/dovecot/dovecot.conf # OS: Linux 3.17.4-301.fc21.x86_64 x86_64 Fedora release 21 (Twenty One) auth_debug = yes auth_debug_passwords = yes auth_mechanisms = cram-md5 digest-md5 plain login auth_verbose = yes listen = * login_trusted_networks = 192.168.1.4 192.168.1.5 192.168.1.6 192.168.1.12 192.168.1.14 192.168.1.10 127.0.0.1 mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u 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 = passwd } quota_full_tempfail = yes service auth { unix_listener /var/spool/postfix/private/auth { 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 } verbose_proctitle = yes
我已经检查了cram-md5文件的权限与旧系统上的相同
任何和所有的帮助,不胜感激。
我最终发现文件所有权和权限的细节已经改变了。 而且,我在configuration文件中也犯了一个小错误。
正如许多软件包所做的那样,新scheme会安装包含许多注释和注释行的示例,以提示您获取所需的configuration。 但是,在我的旧configuration文件中没有这样的行:
passdb { args = /etc/cram-md5.pwd driver = passwd-file }
当然,这个文件不一定要被称为cram-md5.pwd ,也不必在/ etc中。 但是,SOMEWHERE你必须指向文件!
然而,仅有这一点还不够。
另外,较旧的安装有这个完全由root拥有的文件。 新安装喜欢文件至less拥有dovecot所有权,以及对文件的读写权限。
我只是select了任何ole passdb “容器”,把这两条线,并突然开始工作!
我仍然有一些不能正常工作的东西,但这些是我以前从未工作过的configuration选项(比如安全性),所以目前没有人依赖这些function!