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 後綴/smtpd
$$ 85759 $$: 警告: 連接到 Milter 服務 unix:/var/run/clamav/clmilter.sock: 權限被拒絕
Postfix 作為 user:group postfix:postfix 執行。Clamav 作為 clamav:clamav 執行。(當我將 clamav 作為 postfix:postfix 執行時,問題仍然存在。)使用者 postfix 也是 clamav 組的成員。
套接字本身的權限是:
srwxrwxrwx 1 clamav clamav 0B 2018 年 9 月 21 日 11:46:26 /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"
在後綴的 main.cf 中,它也很標準:
smtpd_milters = unix:/var/run/clamav/clmilter.sock inet:127.0.0.1:8891
我忘記了這個問題,但我現在已經工作了一段時間,所以這就是我現在配置它的方式。
Postfix 和 Clamav 的版本:
clamav-0.102.2,1 後綴-3.5.1,1
在 /usr/local/etc/postfix/main.cf 我有 clamav-milter 通過埠 7357 上的 inet:
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
預設情況下,FreeBSD 後綴執行 chroot 到
/var/spool/postfix
. 更改您的smtpd_milters
行,使該目錄成為您的根目錄。例如:smtpd_milters = unix:/clamav/clamav-milter.ctl, ...