Sendmail 如何确定 SASL 正在监听的位置?

Sendmail 如何确定 SASL 正在监听的位置?

我正在尝试在 Mint Linux 20.2 机器上使 SMTP-AUTH 工作,但在进行身份验证时遇到了问题。我已经安装了 Cyrus sasl2,并且显然已正确配置它 -testsaslauthd -u <user> -p <password> -s smtp返回0: OK "Success."但是当我尝试使用相同凭据从我的客户端发送邮件时,sendmail 无法进行身份验证。令我好奇的是,当我使用时,testsaslauthd我的身份验证日志中会生成条目,但是当 Sendmail 尝试时,什么都没有。尝试testsaslauthd从非 root 上下文使用也会导致没有身份验证条目,这让我相信要么sendmail没有足够的权限连接到 sasl 守护程序,要么它不知道该管道在哪里并且猜错了。所以我想问题是,它如何sendmail找到该管道,当它这样做时它是谁?

答案1

你的 sendmail 是用 SASL 编译的吗?检查:

sendmail -d0 < /dev/null | grep SASL

它应该列出“SASLv2”

您是否在“sendmail.mc”中激活了它?例如:

define(`confAUTH_MECHANISMS', `PLAIN LOGIN CRAM-MD5')dnl
define(`confAUTH_OPTIONS', `y')dnl
TRUST_AUTH_MECH(`PLAIN LOGIN CRAM-MD5')dnl
define(`confDONT_BLAME_SENDMAIL',`GroupReadableSASLDBFile')dnl

答案2

每个使用 SASL 的客户端都应该有一个配置文件,例如“/usr/lib/sasl2/Sendmail.conf”

pwcheck_method: saslauthd

相关内容