我有邮件服务器Postfix + Saslauth。 我为Postfixconfiguration了多个实例:
后缀出
和两个saslauth实例:
saslauthd出
设置saslauthd是为了validationPostfix服务和saslauthd-out的另一个实例。
为了创buildsasl第二个实例,我这样做:
cp / etc / default / saslauthd / etc / default / saslauthd-out
有了这个configuration:〜#vim / etc / default / saslauthd -out
DESC="SASL Authentication Daemon postfix-out" NAME="saslauthd-out" MECHANISMS="pam" OPTIONS="-c -m /var/spool/postfix-out/var/run/saslauthd-out"
在postfix-out的configuration中(/etc/postfix-out/sasl/smtp.conf):
pwcheck_method: saslauthd-out
和后缀(/etc/postfix/sasl/smtp.conf):
pwcheck_method: saslauthd
当我重新启动saslauth时候,
当我尝试连接smtp server (后缀)的每一件事情都OK,authentication是成功的,但在smtp server (后缀输出),连接到smtp是可以的,但它无法validation,并发生此错误:
:~# telnet mail2.example.com 25 Trying 111.222.333.444... Connected to mail2.example.com. Escape character is '^]'. 220 mail2.example.com ESMTP Postfix (@@DISTRO@@) auth plain YWdoc2EAYWdoc2hhbGRvcmFu 535 5.7.8 Error: authentication failed: no mechanism available
日志:
Nov 30 09:17:47 mail4 postfix-out/smtpd[4361]: connect from unknown[111.222.333.444] Nov 30 09:17:58 mail4 postfix-out/smtpd[4361]: warning: SASL authentication problem: unknown password verifier Nov 30 09:17:58 mail4 postfix-out/smtpd[4361]: warning: SASL authentication failure: Password verification failed Nov 30 09:17:58 mail4 postfix-out/smtpd[4361]: warning: unknown[111.222.333.444]: SASL plain authentication failed: no mechanism available Nov 30 09:18:04 mail4 postfix-out/smtpd[4361]: disconnect from unknown[111.222.333.444]
问题是什么?
pwcheck_method是Cyrus SASL库的configuration选项。 可能的值是auxprop , saslauthd , pwcheck和authdaemond 。 这里不支持saslauthd-out 。 你的configuration需要是这样的
在/ etc /默认/ saslauthd出:
DESC="SASL Authentication Daemon postfix-out" NAME="saslauthd-out" MECHANISMS="pam" OPTIONS="-c -m /var/spool/postfix-out/var/run/saslauthd-out"
/etc/postfix-out/sasl/smtp.conf:
pwcheck_method: saslauthd saslauthd_path: /var/spool/postfix-out/var/run/saslauthd-out/mux
在/etc/postfix-out/main.cf中的某处:
smtpd_sasl_auth_enable = yes smtpd_sasl_path = smtp smtpd_sasl_type = cyrus cyrus_sasl_config_path = /etc/postfix-out/sasl
我只是用这个configuration设置一个虚拟机,它工作。
/var/spool/postfix-out/var/run/saslauthd-out必须存在,尽pipe我个人更喜欢它/var/spool/postfix-out/saslauthd-out 。 但那是你的决定。