一切都已启动并运行并接听电话,但 postfix 的登录似乎不起作用(它适用于 Courier IMAP,但不适用于 postfix)。
这是错误输出:
Jun 30 22:22:10 HOST postfix/smtps/smtpd[31676]: Anonymous TLS connection established from unknown[<my ip>]: TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)
Jun 30 22:22:10 HOST postfix/smtps/smtpd[31676]: warning: SASL authentication failure: cannot connect to saslauthd server: No such file or directory
Jun 30 22:22:10 HOST postfix/smtps/smtpd[31676]: warning: SASL authentication failure: Password verification failed
Jun 30 22:22:10 HOST postfix/smtps/smtpd[31676]: warning: unknown[<my ip>]: SASL PLAIN authentication failed: generic failure
这是/usr/local/lib/sasl2/smtpd.conf
:
pwcheck_method: saslauthd
mech_list: PLAIN LOGIN
authdaemond_path: /var/run/courier-auth/socket
log_level: 7
并且套接字已创建:
# ls -l /var/run/courier-auth/
total 4
-rw-r--r-- 1 root wheel 5 Jun 30 22:19 pid
-rw------- 1 root wheel 0 Jun 30 22:19 pid.lock
srwxrwxrwx 1 root _postfix 0 Jun 30 22:19 socket
说/etc/courier/authdaemonrc
:
[...]
authmodulelist="authpwd"
[...]
authdaemonvar=/var/run/courier-auth
[...]
我不知道为什么会出错,也不知道从哪里开始检查错误,因为日志没有指定它正在查找哪个文件或连接出错的位置。
系统:
- OpenBSD 5.3
- 后缀-2.10.20130201-sasl2
- 快递-authlib-0.64.0
- 快递-imap-4.11.0
注意:增加 postfix 的日志级别也是没有用的,我正在尽我所能,不让你用这样的标准问题来惹恼你,但我现在正在努力地敲头!
编辑:我还考虑到 postfix 在 chroot 环境中运行(只是为了它而尝试不进行 chroot),因此我创建了 /storage/spool/postfix/var/run/courier-auth/ 并放置socket
在该文件夹中没有任何成功。还尝试symlinking
将 chroot 文件夹更改为实际文件夹,/var/run/courier-auth/
但也没有成功。
部分解决方案:
好吧,我已经修复了 SMTP,postfix 现在可以使用 SASL2,但是.. 那个 ment 放弃了对 Couerier IMAP 的支持... 呃..
显然 saslauthdaemond via 中缺少一些启动参数/etc/rc.d/saslauthd
,我有一个丢失的mux
文件,这让我很担心,因为除了 OpenBSD 指南之外几乎所有指南都指向它。所以我通过添加来解决这个问题:
daemon_flags="-a getpwent -m /var/run/courier-auth/"
无论出于何种原因,启动脚本都没有标志..因此解决了一些问题。现在 SMTP 可以进行身份验证,但现在imapd-ssl
显示:
Jul 1 14:08:48 HOST imapd-ssl: LOGIN FAILED, method=PLAIN, ip=[::ffff:<ip v4>]
Jul 1 14:08:48 HOST imapd-ssl: authentication error: Connection refused
Jul 1 14:08:52 HOST imapd-ssl: authdaemon: s_connect() failed: Connection refused
Jul 1 14:08:52 HOST imapd-ssl: [Hint: perhaps authdaemond is not running?]
在实际启动守护进程之后(....),我现在可以使用 SASL2 进行身份验证,即使使用 IMAP,但它只是显示错误的凭据。
进一步排除故障:
Jul 1 14:55:10 HOST imapd-ssl: LOGIN FAILED, method=PLAIN, ip=[::ffff:<ipv4>]
Jul 1 14:55:15 HOST imapd-ssl: LOGIN FAILED, user=MyUser, ip=[::ffff:<ipv4>]
该用户是本地用户,可以本地登录,但即使如此,用户也不需要实际的 shell 来登录邮件。
所以我四处寻找,发现这把DEFDOMAIN="@domain.se"
事情搞砸了,所以我把它从中删除了/etc/courier/imapd
,然后我就到了工作的地步SMTP
,我从以下地方得到了这个IMAP
:
Jul 2 13:23:10 HOST authdaemond: Authenticated: sysusername=anton, sysuserid=<null>, sysgroupid=20001, homedir=/storage/vmail/anton, address=anton, fullname=Anton, maildir=<null>, quota=<null>, options=<null>
Jul 2 13:23:10 HOST authdaemond: Authenticated: clearpasswd=MyPasswd, passwd=$1b$04$QQQ1c10x0AU3etWCJFrla.Rl22sevNhq24yXYxrq8IN7mEeGI20.
Jul 2 13:23:10 HOST imapd-ssl: anton: Account's mailbox directory is not owned by the correct uid or gid
但我不确定为什么,因为:
# ls -l /storage/vmail/
-rw-r--r-- 1 vmail vmail 22 Mar 13 01:06 .Xdefaults
-rw-r--r-- 1 vmail vmail 773 Mar 13 01:06 .cshrc
-rw-r--r-- 1 vmail vmail 398 Mar 13 01:06 .login
-rw-r--r-- 1 vmail vmail 113 Mar 13 01:06 .mailrc
-rw-r--r-- 1 vmail vmail 218 Mar 13 01:06 .profile
drwx------ 2 vmail vmail 512 Jun 30 10:44 .ssh
drwxr-xr-x 3 anton anton 512 Jun 30 10:44 anton