postfix连接clamav-milter套接字的权限问题

postfix连接clamav-milter套接字的权限问题

我在 FreeBSD 11.2 上运行 postfix postfix-3.3.1_1,1 和 clamav-milter clamav-milter-0.100.1_1 。 Postfix 和 milter 设置为通过套接字进行通信。我无法让 milter 和 postfix 一起工作,我一定是忽略了一些东西。

在我的maillog我收到这些消息:

xSep 21 11:33:57 mail2 postfix/smtpd[85759]:警告:连接到 Milter 服务 unix:/var/run/clamav/clmilter.sock:权限被拒绝

Postfix 以用户:组 postfix:postfix 运行。 Clamav 运行为 clamav:clamav。 (当我作为 postfix:postfix 运行 clamav 时,问题仍然存在。)用户 postfix 也是 clamav 组的成员。

套接字本身的权限是:

srwxrwxrwx 1 clamav clamav 0B 九月 21 11:46:26 2018 /var/run/clamav/clmilter.sock

在 clamav-milter.conf 中,我运行默认值,将用户更改为 postfix 不起作用:

MilterSocket unix:/var/run/clamav/clmilter.sock

# MilterSocket unix:/var/spool/postfix/var/run/clamav/clmilter.sock
# MilterSocket inet:8890

# ClamdSocket unix:/var/run/clamav/clmilter.sock

#MilterSocket inet:7357

# Define the group ownership for the (unix) milter socket.
# Default: disabled (the primary group of the user running clamd)
#MilterSocketGroup postfix

# Sets the permissions on the (unix) milter socket to the specified mode.
# Default: disabled (obey umask)
#MilterSocketMode 660

# Remove stale socket after unclean shutdown.
#
# Default: yes
FixStaleSocket yes

# Run as another user (clamav-milter must be started by root for this option to work)
#
# Default: unset (don't drop privileges)
User postfix

在 rc.conf 中

clamav_milter_enable="YES"
clamav_milter_socket="/var/run/clamav/clmilter.sock"
clamav_milter_socket_user="postfix"
clamav_milter_socket_group="postfix"

在 postfix 的 main.cf 中,它也是相当标准的:

smtpd_milters = unix:/var/run/clamav/clmilter.sock inet:127.0.0.1:8891

答案1

默认情况下,FreeBSD postfix 运行 chroot 到/var/spool/postfix.更改您的smtpd_milters行,使该目录成为您的根目录。例如:

smtpd_milters = unix:/clamav/clamav-milter.ctl, ...

答案2

我忘记了这个问题,但我已经工作了一段时间了,所以这里就是我现在的配置方式。

Postfix 和 Clamav 的版本:

clamav-0.102.2,1 postfix-3.5.1,1

在 /usr/local/etc/postfix/main.cf 中,我通过 inet 在端口 7357 上安装了 clamav-milter:

smtpd_milters = inet:127.0.0.1:7357 inet:127.0.0.1:8891
milter_default_action = accept

在 /usr/local/etc/clamav-milter.conf 中:

MilterSocket inet:7357
FixStaleSocket yes
PidFile /var/run/clamav/clamav-milter.pid
ClamdSocket unix:/var/run/clamav/clamd.sock

在 /usr/local/etc/clamd.conf 中:

PidFile /var/run/clamav/clamd.pid
LocalSocket /var/run/clamav/clamd.sock
User clamav

在/etc/rc.conf中:

clamav_freshclam_enable="YES"
clamav_clamd_enable="YES"
clamav_milter_enable="YES"
clamav_milter_socket="inet:7357"
clamav_milter_socket_mode=777

相关内容