否 [警告] 来自远程身份验证服务器的意外响应

否 [警告] 来自远程身份验证服务器的意外响应

是我在 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)。

相关内容