如何配置 Cyrus IMAP 以向 SASL 提交默认领域?

如何配置 Cyrus IMAP 以向 SASL 提交默认领域?

我已将 Postfix 配置为使用纯文本与 SASL 协同工作,前者在请求身份验证时会自动向后者提交一个默认领域。

假设域名是 example.com 并且用户是 foo,以下是我目前在 Debian 系统上的配置方式。

在 Postfix 配置文件中/etc/main.cf

smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $mydomain

SMTP 配置文件/etc/postfix/smtpd.conf包含:

pwcheck_method: saslauthd
mech_list: PLAIN

SASL 守护进程在以下位置配置了 sasldb 机制/etc/default/saslauthd

MECHANIMS="sasldb"

SASL 数据库文件包含单个用户,如下所示sasldblistusers2

[email protected]: userPassword

身份验证无需提供域即可正常工作,因为 postifx 会帮我完成这一操作。但是,我不知道如何告诉 Cyrus IMAP 守护程序执行相同的操作。

我在 SASL 数据库中创建了一个用户cyrus,出于管理目的,该用户使用主机域名的领域,而不是。我使用此帐户为用户example.com创建了一个邮箱:cyradmfoo

cm user.foo

IMAP 配置如下/etc/imapd.conf

allowplaintext: yes
sasl_minimum_layer: 0
sasl_pwcheck_method: saslauthd
sasl_mech_list: PLAIN
servername: mail.example.com

如果我启用跨领域身份验证(loginrealms: example.com),则尝试使用imtest以下选项进行身份验证:

imtest -m login -a [email protected] localhost

不过,我希望能够在不必指定领域的情况下进行身份验证,如下所示:

imtest -m login -a foo localhost

我认为使用virtdomains(将其设置为useridondefaultdomain: example.com就可以做到这一点,但我无法使其工作。

我总是遇到这个错误:

cyrus/imap[11012]: badlogin: localhost [127.0.0.1] plaintext foo SASL(-13): authentication failure: checkpass failed

我的理解是,cyrus-imapd在尝试验证用户身份时永远不会尝试提交领域foo

我的问题:我如何才能cyrus-imapd自动将域名作为领域发送?

感谢您的见解!

答案1

关于添加此功能有一些古老的讨论,但显然没有办法指定默认的身份验证领域。

Cyrus IMAP 的开发基本上已经停滞了十多年(1998-2002 年是最后一次“重大”开发)。是的,仍然在进行更新(最后一次更新是在 2012 年 4 月 19 日,距今已有一年多)。

我不会屏息期待这个被添加。

相关内容