linux – Postfix – Opendkim – 无法连接到本地套接字

前端之家收集整理的这篇文章主要介绍了linux – Postfix – Opendkim – 无法连接到本地套接字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当postfix尝试连接到opendkim的unix套接字时,我被拒绝错误,实际错误
Sep 24 15:41:43 service-a-4 postfix/cleanup[17414]: warning: connect to Milter service unix:var/run/opendkim/opendkim.sock: Permission denied

根据postfix docs,默认情况下postfix在“chroot模式”下运行,因此postfix被锁定到/ var / spool / postfix /,根据postfix docs,如果在“chroot模式”下运行,所有milter(套接字)引用都是relative(到/ var / spool / postfix).

所以我的配置看起来像:

# /etc/opendkim.conf
Socket local:/var/spool/postfix/var/run/opendkim/opendkim.sock

# /etc/postfix/main.cf
smtpd_milters = unix:/var/run/opendkim/opendkim.sock

现在,当我尝试发送测试邮件时,我收到了权限被拒绝错误,所以我尝试了一些权限测试:

# Correctly lists the socket file
sudo su -s /bin/bash postfix -c "ls /var/spool/postfix/var/run/opendkim/opendkim.sock"

但是当我尝试连接为postfix时,没有任何反应:

# Does not work
sudo su -s /bin/bash postfix -c "nc -U -D /var/spool/postfix/var/run/opendkim/opendkim.sock"

# Does work (as root)
nc -U -D /var/spool/postfix/var/run/opendkim/opendkim.sock

在调试此sitch时,SELinux暂时被禁用(允许).我在每次配置更改后重启两个进程(opendkim和postfix).

我还缺少什么?

版本:

CentOS 6.5
Postfix v2.6.6
Opendkim v2.9

解决方法

在我的CentOS6上测试过postfix似乎并没有真正“chrooted”.
我的设定:
# /etc/opendkim.conf
Socket local:/var/run/opendkim/opendkim.sock

# /etc/postfix/main.cf
smtpd_milters = unix:/var/run/opendkim/opendkim.sock

这将产生:连接到Milter服务unix:/var/run/opendkim/opendkim.sock:权限被拒绝.
但是,套接字umask是002,导致srwxrwxr-x. opendkim:opendkim opendkim.sock.
将umask更改为000可以解决问题.不过,最好让opendkim切换用户:群组,而不仅仅是对世界开放.

环境:

centos 6.5 2.6.32-573.7.1.el6.x86_64
postfix 2.6.6-6.el6_5 @updates
opendkim 2.10.3-1.el6 @epel
原文链接:https://www.f2er.com/linux/399102.html

猜你在找的Linux相关文章