Authentication

不阿樂_RT一種大號和R噸ALERT來自遠端身份驗證伺服器的意外響應

  • March 29, 2016

是我在 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\34a.chaouche@domain.tld\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 a.chaouche@domain.tld -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 = 'a.chaouche@domain.tld'
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/, address=a.chaouche@domain.tld, 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/, address=a.chaouche@domain.tld, 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, user=a.chaouche@domain.tld, ip=[::1], port=[58425], protocol=IMAP
Mar 28 14:42:58 messagerie imapd: LOGOUT, user=a.chaouche@domain.tld, ip=[::1], headers=0, body=0, rcvd=19, sent=250, time=1

我確保 mux 文件存在並且位於正確的位置。它也在 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 伺服器進行身份驗證。

Courier 帶有 libfam0,但由於某種原因,安裝 gamin 解決了該問題(並解除安裝了 libfam0)。

引用自:https://serverfault.com/questions/766487