Authentication
不阿樂_RT一種大號和R噸ALERT來自遠端身份驗證伺服器的意外響應
是我在 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)。