Posfix的smtpd_sasl_path似乎不适用于我

我有这样的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文件。

请参阅http://www.postfix.org/postconf.5.html#smtpd_sasl_path

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.Debianfind(对于基于debian的发行版)

这里提到:

  1. 出于政策原因:
    一个。 SASLconfiguration进入/ etc / postfix / sasl

所以…将它们放在一起,将其定义为smtpd (或将其保留为默认值),它将在/etc/poostfix/sasl目录中/etc/poostfix/sasl

如果它不存在,它将在/usr/lib/sasl2/ then /etc/sasl2/

得爱古代文献:D