clamav-milterソケットへのpostfix接続に関する権限の問題

clamav-milterソケットへのpostfix接続に関する権限の問題

私はFreeBSD 11.2でpostfix postfix-3.3.1_1,1とclamav-milter clamav-milter-0.100.1_1を実行しています。 Postfixとmilterはソケットを介して通信するように設定されています。私はpostfixで作業するためにmilterを取得できません。何かを見落としているようです。

maillog私のメッセージは次のとおりです。

xSep 21 11:33:57 mail2 postfix/smtpd[85759]: 警告: Milter サービス unix に接続中: /var/run/clamav/clmilter.sock: 権限が拒否されました。

Postfixはユーザー:グループpostfix:postfixとして実行されます。 Clamavはclamav:clamavとして実行されます。 (clamavをpostfix:postfixとして実行すると問題は解決しません。)ユーザーpostfixもclamavグループのメンバーです。

ソケット自体に対する権限は次のとおりです。

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

clamav-milter.confでdefaultを実行しましたが、ユーザーを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, ...

おすすめ記事