![否 [警告] 来自远程身份验证服务器的意外响应](https://linux22.com/image/679593/%E5%90%A6%20%5B%E8%AD%A6%E5%91%8A%5D%20%E6%9D%A5%E8%87%AA%E8%BF%9C%E7%A8%8B%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E6%84%8F%E5%A4%96%E5%93%8D%E5%BA%94.png)
是我在 strace 中运行 testsaslauthd 时看到的
socket(PF_LOCAL, SOCK_STREAM, 0) = 3
connect(3, {sa_family=AF_LOCAL, sun_path="/var/run/saslauthd/mux"}, 110) = 0
writev(3, [{"\0\[email protected]\0\fxxx\0\4imap\0\0", 52}], 1) = 52
read(3, "\0@", 2) = 2
read(3, "NO [ALERT] Unexpected response from remote authentication server", 64) = 64
close(3) = 0
write(1, "0: NO \"authentication failed\"\n", 300: NO "authentication failed"
) = 30
exit_group(-1) = ?
+++ exited with 255 +++
root@messagerie[10.10.10.20] ~ #
在命令行上我唯一看到的是:
root@messagerie[10.10.10.20] ~ # testsaslauthd -u a.chaouche@xxx -p xxx -f /var/run/saslauthd/mux -s smtp
0: NO "authentication failed"
root@messagerie[10.10.10.20] ~ #
添加领域并没有改变任何东西
root@messagerie[10.10.10.20] ~ # testsaslauthd -u [email protected] -p xxx -f /var/run/saslauthd/mux -r domain.tld -s smtp
0: NO "authentication failed"
root@messagerie[10.10.10.20] ~ #
saslauthd 以 -a rimap -O localhost 启动,连接到 courier 自己的 authdameon。
root@messagerie[10.10.10.20] ~ # saslauthd -a rimap -O localhost -c -m /var/run/saslauthd/
root@messagerie[10.10.10.20] ~ # pgrep -a saslauthd
1749 saslauthd -a rimap -O localhost -c -m /var/run/saslauthd/
1750 saslauthd -a rimap -O localhost -c -m /var/run/saslauthd/
1751 saslauthd -a rimap -O localhost -c -m /var/run/saslauthd/
1752 saslauthd -a rimap -O localhost -c -m /var/run/saslauthd/
1753 saslauthd -a rimap -O localhost -c -m /var/run/saslauthd/
root@messagerie[10.10.10.20] ~ #
在 syslog 中,我可以看到 imap 身份验证已收到并成功
Mar 28 14:42:57 messagerie authdaemond: received auth request, service=imap, authtype=login
Mar 28 14:42:57 messagerie authdaemond: authmysql: trying this module
Mar 28 14:42:57 messagerie authdaemond: SQL query: SELECT email, password, "", 113, 120, "/var/vmail/", maildir, quota, 0, "" FROM users WHERE email = '[email protected]'
Mar 28 14:42:57 messagerie authdaemond: password matches successfully
Mar 28 14:42:57 messagerie authdaemond: authmysql: sysusername=<null>, sysuserid=113, sysgroupid=120, homedir=/var/vmail/, [email protected], fullname=0, maildir=domain.tld/a.chaouche/, quota=1073741824, options=<null>
Mar 28 14:42:57 messagerie authdaemond: authmysql: clearpasswd=<null>, passwd=xxx
Mar 28 14:42:57 messagerie authdaemond: Authenticated: sysusername=<null>, sysuserid=113, sysgroupid=120, homedir=/var/vmail/, [email protected], fullname=0, maildir=domain.tld/a.chaouche/, quota=1073741824, options=<null>
Mar 28 14:42:57 messagerie authdaemond: Authenticated: clearpasswd=xxx, passwd=xxx
Mar 28 14:42:57 messagerie imapd: LOGIN, [email protected], ip=[::1], port=[58425], protocol=IMAP
Mar 28 14:42:58 messagerie imapd: LOGOUT, [email protected], ip=[::1], headers=0, body=0, rcvd=19, sent=250, time=1
我确保了 mux 文件存在并且位于正确的位置。它也被 chmoded 为 777(没有改变这一点)
root@messagerie[10.10.10.20] ~ # ls /var/run/saslauthd/
total 968K
-rw------- 1 root root 0 Mar 28 14:38 cache.flock
-rw------- 1 root root 963K Mar 28 14:38 cache.mmap
srwxrwxrwx 1 root root 0 Mar 28 14:38 mux
-rw------- 1 root root 0 Mar 28 14:38 mux.accept
-rw------- 1 root root 5 Mar 28 14:38 saslauthd.pid
root@messagerie[10.10.10.20] ~ #
如能帮助配置 cyrus 的 saslauthd 以使用 courier 的 imap 服务器进行身份验证,我们将不胜感激。
答案1
Courier 带有 libfam0,但对于一些原因,安装 gamin 解决了该问题(并卸载了 libfam0)。