如何使用 saslpasswd2 为不同的机制生成条目?

如何使用 saslpasswd2 为不同的机制生成条目?

我正在努力创建令人满意的记录集sasldb2.db。如果我使用常规

saslpasswd2 -c user

根据 sasldblistusers2,我得到一条记录:

[email protected]:    userPassword

然而这一页让我相信,每种机制都应该有一条线(DIGEST-MD5,,CRAM-MD5等等)。

如果我添加-n以避免存储纯文本(我只需要 CRAM-MD5):

saslpasswd2 -n -c user

然后 sasldblistusers2 找不到要列出的记录根本。我的saslpasswd.conf由两行组成:

mech_list:      cram-md5 digest-md5 ntlm plain
log_level:      9

我在 FreeBSD 上尝试使用 cyrus-sasl-2.1.26_12 和 Ubuntu 2.1.25...我做错了什么?


我需要,CRAM-MD5因为如果不进一步重新配置,我的 sendmail 只会列出和DIGEST-MD5作为可接受的AUTH机制。而 iPhone 显然不支持DIGEST-MD5。我这样做只是为了几部 iPhone——普通电脑已经使用我自己颁发的客户端 SSL 证书进行了身份验证。


好的,显然,CRAM-MD5身份验证一直都是成功的——尽管没有列出sasldblistusers2。我创建了一个新问题——为什么尽管身份验证成功,sendmail 仍然拒绝中继。

答案1

我已设法通过以下方式使其工作:

/etc/mail/sendmail.mc 具有以下设置:

define(`confLOG_LEVEL', `13')dnl
define(`confAUTH_OPTIONS', `A')dnl
TRUST_AUTH_MECH(`DIGEST-MD5 CRAM-MD5')dnl
define(`confAUTH_MECHANISMS', `DIGEST-MD5 CRAM-MD5')dnl

/etc/sasl2/Sendmail.conf 包含以下内容:

pwcheck_method: auxprop
auxprop_plugin: sasldb
mech_list:      cram-md5 digest-md5
log_level:      9

使用以下命令将用户添加到 /etc/sasldb2:

# saslpasswd2 -c -u mail.example.com -a Sendmail test
<password>
<password>

然后测试:

# sendmail -O LogLevel=14 -bs -Am
220 server.example.com ESMTP Sendmail 8.14.7/8.14.7; Tue, 24 Oct 2017 09:24:44 +0100
ehlo localhost
250-server.example.com Hello root@localhost, pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP
AUTH CRAM-MD5
334 <challenge>
<generate response using [email protected], password and the above challenge text>
235 2.0.0 OK Authenticated

您可能可以将设置缩减到最低限度,但上面的方法对我来说很有效。这是在 RHEL 7 主机上。

相关内容