首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >后缀smtpd不会和saslauthd说话

后缀smtpd不会和saslauthd说话
EN

Server Fault用户
提问于 2013-01-23 22:35:00
回答 2查看 5.6K关注 0票数 1

我有一个很好的设置来验证PAM的身份。它似乎在做它的事情:

代码语言:javascript
复制
root@sasltest:~# testsaslauthd -u quest -p #### -s smtp
0: OK "Success."

我有libsasl 2.1.23,后缀2.7.1。

我配置了一个后缀:

代码语言:javascript
复制
smtpd_sasl_type = cyrus
smtpd_sasl_path = /var/spool/postfix/private/saslauthd/mux
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous

因此,使用master.cf:

代码语言:javascript
复制
submission inet n       -       -       -       -       smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

但是,试图在此后缀中进行身份验证会给出以下错误消息:

代码语言:javascript
复制
Jan 23 22:13:14 sasltest postfix/smtpd[1252]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Jan 23 22:13:14 sasltest postfix/smtpd[1252]: warning: SASL authentication problem: unable to open Berkeley db /etc/sasldb2: No such file or directory
Jan 23 22:13:14 sasltest postfix/smtpd[1252]: warning: X[A.B.C.D]: SASL LOGIN

验证失败:身份验证失败

同时,我的调试日志记录程序没有输出。

我将此解释为libsasl2试图使用sasldb auth而不是尝试与saslauthd对话。我想不出怎么告诉libsasl我想让它和saslauthd说话。

各种说明通知您创建一个文件/etc/sasl 2/smtpd.conf或/etc/后缀/sasl/smtpd.conf。我尝试过创建这些文件,其中包括:

代码语言:javascript
复制
pwcheck_method: saslauthd
mech_list: LOGIN PLAIN

但没有效果。

如何指示libsasl使用saslauthd身份验证?

(当然,我可以创建/var/spool/后缀/etc/sasldb2 2,但这仍然不会导致连接到saslauthd)。

EN

回答 2

Server Fault用户

发布于 2020-12-27 12:10:23

在Ubuntu 20.04类似的问题上绊倒了。在那里,根本无法识别后缀的cyrus_sasl_config_path参数。它正在查找/etc/后缀/sasl2 2/以代替包含smtpd.conf。

在Ubuntu20.04中,smtpd在默认情况下似乎是彩色的。但是,它在/usr/lib/后缀/配置-instance.sh中的chroot准备脚本没有覆盖任何与SASL相关的文件,因此必须手动将其放入chroot中。

  1. 在chroot中创建缺少的文件夹: mkdir -p /var/spool/后缀/etc/后缀/sasl2 2
  2. 在那里创建SASL2配置文件: cat SASL2 <
  3. 从相关的全局文件夹( mkdir -p /etc/postfix/sasl2 2 ln -s -s/etc/postfix/sasl2 2/smtpd.conf)链接
  4. 确保saslauthd套接字在文件夹/var/spool/后缀/var/run/saslauthd/中可用。您可以通过调整文件/etc/default/saslauthd来控制这一点。请参阅该文件中的注释。
票数 2
EN

Server Fault用户

发布于 2020-10-22 16:17:00

我在这个问题上挣扎了大约一个小时,然后通过strace -f -p pid处理正在运行的后缀进程,它找不到我的sasldb2文件,因为它把自己放到了一个chroot中。

编辑/etc/postfix/master.cf并在chroot列中放置一个n。重新启动后缀。现在应该能用了。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/471887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档