clamavとamavisd-newに以下のようなエラーログが出ていたので対応した。
Apr 18 11:28:26 hostname clamd[4731]: lstat() failed on: /var/lib/amavishome/tmp/amavis-20210418T112723-10120-wxSrl3Uw/parts Apr 18 11:28:26 hostname amavis[10120]: (10120-02-4) (!)run_av (ClamAV-clamd) FAILED - unexpected , output="/var/lib/amavishome/tmp/amavis-20210418T112723-10120-wxSrl3Uw/parts: lstat() failed: Permission denied. ERROR\n" Apr 18 11:28:26 hostname amavis[10120]: (10120-02-4) (!)ClamAV-clamd av-scanner FAILED: CODE(0x564868cfcda0) unexpected , output="/var/lib/amavishome/tmp/amavis-20210418T112723-10120-wxSrl3Uw/parts: lstat() failed: Permission denied. ERROR\n" at (eval 98) line 951. Apr 18 11:28:26 hostname amavis[10120]: (10120-02-4) (!)WARN: all primary virus scanners failed, considering backups
単純に、clamavアカウントにamavisグループ権限を割り当てるだけ。
usermod -aG amavis clamav
以前はclamd.confに
AllowSupplementaryGroups yes
と入れる必要があったが、今はこのコマンドは非推奨になってしまっている。
clamdとamavisの実行権限が違うので、amavisがclamavのスキャン用に作ったディレクトリにclamdがアクセスできないのが原因。
amavisd.confに以下のようなコメントがあったので、それに従って、amavisグループをつけるべきだったのに、つけていなかった。
# # NOTE: run clamd under the same user as amavisd, or run it under its own # # uid such as clamav, add user clamav to the amavis group, and then add # # AllowSupplementaryGroups to clamd.conf; # # NOTE: match socket name (LocalSocket) in clamav.conf to the socket name in # # this entry; when running chrooted one may prefer socket "$MYHOME/clamd".
ついでに書いておくと、amavisd.confの中で、clamavの呼び出しに /var/run/clamav/clamd.sock を使っているが、.sockではなく、.ctlになっているので注意。(/var/run/clamav/clamd.ctlに変更する必要がある)
0 件のコメント:
コメントを投稿