SASL 身份验证失败:密码验证失败 SASL+PAM

SASL 身份验证失败:密码验证失败 SASL+PAM

我为此绞尽脑汁 4 个小时,却无法解决!Google 发现很多问题与 SASL 身份验证失败有关:密码验证失败,但都无济于事。

基本上,IMAP 工作正常,我可以登录。但是使用 SASL+pam 的 smtp 却很麻烦!

mail.log 说:

SASL authentication failure: Password verification failed

身份验证日志:

pam_unix(smtp:auth): check pass; user unknown
Jan  4 13:43:30 favoritewords saslauthd[2193]: pam_unix(smtp:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost= 
Jan  4 13:43:32 favoritewords saslauthd[2193]: DEBUG: auth_pam: pam_authenticate failed: Authentication failure
Jan  4 13:43:32 favoritewords saslauthd[2193]: do_auth         : auth failure: [[email protected]] [service=smtp] [realm=domain.com] [mech=pam] [reason=PAM auth error]

在 mysql 日志中我看到:

59 Query    select crypt from users where id='[email protected]' and enabled = 1
           59 Query COMMIT
           59 Quit  
           60 Connect   mail@localhost on mail_db
           60 Quit  

/etc/pam.d/smtp 如下所示:

auth required pam_mysql.so user=mail passwd=asdasdasd== host=127.0.0.1 db=mail_db table=users usercolumn=id passwdcolumn=crypt crypt=1 verbose=1
account sufficient pam_mysql.so user=mail passwd=asdasdasd== host=127.0.0.1 db=mail_db table=users usercolumn=id passwdcolumn=crypt crypt=1 verbose=1

和 /etc/postfix/sasl/smtpd.conf:

pwcheck_method: saslauthd
mech_list: plain login cram-md5 digest-md5
log_level: 7
allow_plaintext: true
auxprop_plugin: sql
sql_engine: mysql
sql_hostnames: 127.0.0.1
sql_user: mail
sql_passwd: asdasdasd==
sql_database: mail_db
sql_select: select crypt from users where id='%u@%r' and enabled = 1

注意,我认为 /etc/postfix/sasl/smtpd.conf 是在 /etc/pam.d/smtp 上使用的,这就是问题所在。

答案1

快速回答。重新启动 pam 服务。

PAM 中显然存在大量内存泄漏,尤其是 SASLauthd,它经常崩溃。

我正在尝试找出一种方法来限制允许的查找量,因为现在它每秒大约有 50 次查找并且经常崩溃。

相关内容