Linux

Sendmail 如何確定 SASL 在哪裡監聽?

  • March 16, 2022

我正在嘗試讓 SMTP-AUTH 在 Mint Linux 20.2 機器上執行,但無法進行身份驗證。我已經安裝了 Cyrus sasl2,並且顯然已正確配置它 -testsaslauthd -u <user> -p <password> -s smtp返回0: OK "Success."但是當我嘗試使用相同的憑據從我的客戶端發送郵件時,sendmail 無法進行身份驗證。讓我感到好奇的是,當我使用testsaslauthd身份驗證日誌時會生成條目,但是當 Sendmail 嘗試時,什麼都沒有。嘗試testsaslauthd從非 root 上下文中使用也會導致沒有身份驗證條目,這讓我相信要麼sendmail沒有足夠的權限連接到 sasl 守護程序,要麼它不知道該管道在哪裡並且猜錯了. 所以我想問題是,如何sendmail找到那個管道,當它這樣做時它是誰?

你的 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

每個使用 SASL 的客戶端都應該有一個配置文件,例如“/usr/lib/sasl2/Sendmail.conf”

pwcheck_method: saslauthd

引用自:https://serverfault.com/questions/1087649