SASL身份validation失败:密码validation失败(后缀+ cyrus + saslauthd)

我们通过smtpvalidation有困难,在centos 7上运行postfix + cyrus。

当我尝试远程login到端口25(或587)本地和auth平原,邮件日志中出现以下错误:

Sep 25 10:25:00 blabla postfix / smtpd [3858]:警告:SASLauthentication问题:无法打开Berkeley db / etc / sasldb2:Permission denied

Sep 25 10:25:00 blabla postfix / smtpd [31106]:警告:SASL身份validation失败:密码validation失败

Sep 25 10:25:00 blabla postfix / smtpd [31106]:warning:unknown [:: 1]:SASL plainauthentication失败:authentication失败

不确定sasldb2与什么有关,如果这个警告对问题有任何真正的影响。 具有相同凭据的testsaslauthd返回OK。

Postfix 没有在chroot模式下运行:

smtp inet n – n – – smtpd

smtps inet n – n – – smtpd

提交inet n – n – – smtpd
-o smtpd_sasl_auth_enable =是

我使用/ etc / shadow进行身份validation,所以ps aux | grep sasl说:

/ usr / sbin / saslauthd -m / var / run / saslauthd -a影子

套接字目录是/ var / run / saslauthd所以在main.cf中,我有:

smtpd_sasl_path = / var / run / saslauthd /
smtpd_sasl_auth_enable =是
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $ myhostname
tls_random_source = dev:/ dev / urandom
smtpd_sasl_local_domain =
broken_sasl_auth_clients =是
smtpd_sasl_exceptions_networks =
smtpd_recipient_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
reject_unauth_destination,
check_policy_service unix:/ var / spool / postfix / postgrey / socket

最后,/etc/sasl2/smtpd.conf有:

pwcheck_method:saslauthd
mech_list:PLAIN LOGIN
saslauthd_path:/ var / run / saslauthd /
allow_plaintext:true

任何指针? 我很困惑…我在网上find的大多数文档似乎指向chrooted后缀configuration或更复杂的身份validation方法。

谢谢!

错误消息

无法打开伯克利db / etc / sasldb2:权限被拒绝

是通用的消息,后缀无法打开该目录,因为权限问题。 使用chmod和/或chown将/etc/sasldb2上的访问权授予postfix

 chown postfix:postfix /etc/sasldb2 chmod 660 /etc/sasldb2 

要么

 chmod 644 /etc/sasldb2 

出于安全原因,我会build议第一个选项。

参考: blog.penumbra.be | http://www.murat.ws | 这个线程