我已经configurationPostfix使用纯文本来处理SASL,前者在请求身份validation时自动向后者提交默认领域。
假设域名是example.com,用户是foo,那么到目前为止,我是如何在我的Debian系统上configuration的。
在后缀configuration文件/etc/main.cf :
smtpd_sasl_auth_enable = yes smtpd_sasl_local_domain = $mydomain
SMTPconfiguration文件/etc/postfix/smtpd.conf包含:
pwcheck_method: saslauthd mech_list: PLAIN
SASL守护进程在/etc/default/saslauthd使用sasldb机制进行configuration:
MECHANIMS="sasldb"
SASL数据库文件包含一个用户,由sasldblistusers2 :
[email protected]: userPassword
身份validation运行良好,而不必提供一个领域,postifx这样做对我来说。 但是,我不知道如何告诉Cyrus IMAP守护进程执行相同的操作。
我在我的SASL数据库中创build了一个用户cyrus ,它使用主机域名领域,而不是example.com ,用于pipe理目的。 我用这个帐号通过cyradm为用户foo创build一个邮箱:
cm user.foo
IMAP在/etc/imapd.conf是这样configuration的:
allowplaintext: yes sasl_minimum_layer: 0 sasl_pwcheck_method: saslauthd sasl_mech_list: PLAIN servername: mail.example.com
如果我启用跨域身份validation( loginrealms: example.com ),尝试使用imtest进行身份validation可以使用以下选项:
imtest -m login -a [email protected] localhost
不过,我希望能够进行身份validation,而无需指定领域,如下所示:
imtest -m login -a foo localhost
我认为使用virtdomains (将其设置为userid或on )和defaultdomain: example.com将做到这一点,但我不能让它工作。
我总是以这个错误结束:
cyrus/imap[11012]: badlogin: localhost [127.0.0.1] plaintext foo SASL(-13): authentication failure: checkpass failed
我所理解的是cyrus-imapd在尝试validation用户foo时从不尝试提交领域。
我的问题:我如何告诉cyrus-imapd自动发送域名作为域名?
感谢您的见解!
关于添加此function有一些古老的讨论,但显然没有办法指定默认的身份validation领域。
赛勒斯IMAP的发展基本上已经停滞了十多年(1998 – 2002年是“重大”发展的最后一次冲刺)。 是的,还有更新(最后一次是2012年4月19日,但一年前)。
我不会屏住呼吸。