我有这样的configuration:
/etc/postfix/main.cf中
smtpd_sasl_type = cyrus smtpd_sasl_auth_enable = yes smtpd_sasl_path = /usr/lib/sasl2/smtpd
/usr/lib/sasl2/smtpd.conf
pwcheck_method: auxprop auxprop_plugin: sasldb mech_list: PLAIN LOGIN DIGEST-MD5 NTLM
但是当我连接到SMTP,我得到意想不到的CRAM-MD5机制
$ telnet localhost 25 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 ubuntu8 ESMTP Postfix (Ubuntu) EHLO localhost 250-AUTH NTLM CRAM-MD5 PLAIN LOGIN DIGEST-MD5 ...
所以看起来它不使用我的configuration。 这里有什么问题?
另外,如果我没有指定smtpd_sasl_path,那么是否有默认configuration? 根据http://www.postfix.org/SASL_README.html
Cyrus SASL version 2.x searches for the configuration file in /usr/lib/sasl2/.
但实际上我没有在这个位置默认configuration。
版本 :Ubuntu 8.04,后缀2.5
你不应该在这里为“smtpd_sasl_path”设置完整path“/ usr / lib / sasl2 / smtpd”,只有“smtpd”没问题,这需要一个应用程序名称而不是cyrus的path来决定后缀使用的configuration文件。
smtpd_sasl_path
的含义特定于您的SASL实现; Dovecot指向一个Postfix可以用来与IMAP守护进程通信的套接字。 我不确定Cyrus究竟意味着什么,但可以运行以下命令find其默认值(以及所有其他Postfixconfigurationvariables的默认值):
$ sudo postconf -d | grep smtpd_sasl_path
至于Cyrusconfiguration文件,你有没有尝试在main.cf
设置cyrus_sasl_config_path
?
这个configuration选项的文档有点分散。
正如在其他答案中提到的,这个文档( http://www.postfix.org/postconf.5.html#smtpd_sasl_path )指出默认是smtpd
。
然后,要了解这个实际上的含义,请看看这里 –
http://www.postfix.org/SASL_README.html#server_cyrus_name
和这里 –
http://www.postfix.org/SASL_README.html#server_cyrus_location
这些状态:
configuration文件的名称(默认:smtpd.conf)是可configuration的。 它是从Postfix SMTP服务器发送到Cyrus SASL库的值和由Cyrus SASL添加的后缀.conf的串联。
Postfix发送的值是使用Cyrus SASL的服务器组件的名称。 它默认为smtpd,并configuration了以下variables之一:
/etc/postfix/main.cf文件:
# Postfix 2.3 and later smtpd_sasl_path = smtpd # Postfix < 2.3 smtpd_sasl_application_name = smtpd
和:
Cyrus SASLsearch指定文件的位置取决于Cyrus SASL版本和所使用的操作系统/分发版本。
您可以阅读关于以下主题的更多信息:
赛百库SASL版本2.x在/ usr / lib / sasl2 /中searchconfiguration文件。
赛勒斯SASL版本2.1.22及更新版本在/ etc / sasl2 /中另外search。
修改一些Postfix发行版并在/ etc / postfix / sasl /,/ var / lib / sasl2 /等目录中查找Cyrus SASLconfiguration文件。请参阅特定于发行版的文档以确定预期的位置。
注释Cyrus SASLsearch/ usr / lib / sasl2 / first。 如果在那里find指定的configuration文件,则不会检查其他位置。
然后,你可以检查Postfix实际上在saslconfiguration文件中的位置,这个文件可以在/usr/share/doc/postfix/README.Debian
find(对于基于debian的发行版)
这里提到:
- 出于政策原因:
一个。 SASLconfiguration进入/ etc / postfix / sasl
所以…将它们放在一起,将其定义为smtpd
(或将其保留为默认值),它将在/etc/poostfix/sasl
目录中/etc/poostfix/sasl
。
如果它不存在,它将在/usr/lib/sasl2/
then /etc/sasl2/
得爱古代文献:D