由于目前无法深入研究的原因,我正在对 SMB 域进行身份验证(如果重要的话,使用 Debian 主机上的 Samba 4.9.5 作为 DC),域中的 Mint Linux 服务器使用 Samba 4.11.6 和 Sendmail 8.15.2。我在第三台 Windows 机器上安装了 Thunderbird。邮件服务器还安装了 Dovecot 2.3.7.2。从 Thunderbird,我可以使用域凭据查看、打开和操作邮箱。但是,我无法发送邮件,当尝试发送到 Sendmail 上的端口 587 时,用于通过 Dovecot 打开邮箱的相同凭据会失败密码验证。我确实有一个域用户的本地帐户,我被告知 Dovecot 需要它来保存其数据。在我看来,我必须以某种方式告诉 Sendmail 使用域凭据而不是本地凭据,但是虽然我知道如何告诉它如何接受凭据,但我不知道如何告诉它如何验证它们。我遗漏了什么吗?
答案1
所以我找到了答案,但遇到了瓶颈。为了未来的访客,我会发布我所知道的内容,如果发现我遗漏了某些信息,我可能会在以后进一步阐述。
具体答案是,SMTP AUTH
通过查询 来验证用户身份sasl
。Debian Linux 的标准安装可能包括 的部分内容,sasl
但不是全部;看来您sasl-bin
还必须检索和安装 才能获得saslauthd
,然后编辑其配置文件才能启用和启动守护进程。当然,互联网搜索返回的几乎所有文档都是关于 ,sasl
可用的内容是sasl2
,但 的最新版本sendmail
(尽管我看到的内容与此相反)确实支持sasl2
。
编辑:正如下面的评论所提到的,最后两块最终被找到了。
首先,我忘记了密码默认会过期。
其次,SASL DB 必须是组可访问的,并且必须告知 Sendmail 这一点没问题。执行此操作的方法是,在 Sendmail MC 文件中,包括
define(`confDONT_BLAME_SENDMAIL',`GroupReadableSASLDBFile')dnl