모든 것이 실행 중이며 전화에 응답하지만 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
[...]
로그가 찾고 있는 파일이나 연결이 잘못된 위치를 지정하지 않기 때문에 오류가 발생하는 이유나 오류 확인을 시작할 위치를 전혀 모릅니다.
체계:
- 오픈BSD 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에서 작동합니다. 하지만... 그 말은 Couerier IMAP에 대한 지원을 중단했습니다... 윽..
OpenBSD를 제외한 거의 모든 가이드가 한 지점을 가리키기 때문에 걱정되는 누락된 파일이 있습니다 /etc/rc.d/saslauthd
. mux
그래서 다음을 추가하여 이 문제를 해결했습니다.
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?]
실제로 데몬을 시작한 후(...) 이제 IMAP을 사용하더라도 SASL2를 사용하여 인증할 수 있지만 잘못된 자격 증명만 표시됩니다.
추가 문제 해결:
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>]
사용자는 로컬 사용자이고 로컬로 로그인할 수 있지만, 이 경우에도 사용자는 메일에 로그인하기 위해 실제 셸이 필요하지 않습니다.
그래서 주위를 둘러보면서 문제가 있는 것을 발견하고 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