web-dev-qa-db-ja.com

amvavisがclamavの「許可が拒否されました」と報告する方法を修正する方法

最近、イライラするような問題に気づきました...電子メールを処理するとき、Ubuntuサーバー(すべての更新が適用されている)は、添付ファイルをウイルススキャンしようとすると「Permission denied」と報告します。

Apr  2 14:05:20 svr amavis[6376]: (06376-01) (!)run_av (ClamAV-clamd) FAILED - unexpected , output="/var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts: lstat() failed: Permission denied. ERROR\n"
Apr  2 14:05:20 svr amavis[6376]: (06376-01) (!)ClamAV-clamd av-scanner FAILED: CODE(0x30cf250) unexpected , output="/var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts: lstat() failed: Permission denied. ERROR\n" at (eval 136) line 899.
Apr  2 14:05:20 svr amavis[6376]: (06376-01) (!)WARN: all primary virus scanners failed, considering backups

問題のディレクトリを見ると、次のように表示されます。

$ ls -ld /var/lib/amavis/tmp
drwxrwx--- 4 amavis amavis 4096 Apr  2 14:16 /var/lib/amavis/tmp
$ ls -ld /var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/
drwxr-x--- 3 amavis amavis 4096 Apr  2 14:05 /var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/
$ ls -ld /var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts                                                                                                                                                                           
drwxr-x--- 2 amavis amavis 4096 Apr  2 14:16 /var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts

Clamdユーザーがamavisdグループのメンバーであることを確認しましたが、これでは何も修正されませんでした。具体的には、誰がどのコンポーネントがどの許可を必要としているのか、そして...理想的にはこれを修正するために何をすべきかを教えてもらえますか?

明確化:許可の基本についての説明は見ていません。この特定の問題に適切な解決策を探しています-一見、少なくとも一見、amavisスイートのコンポーネント(おそらくclamd)が間違ったumask値を使用しているように見えます。もちろん、この障害は、多数のバグまたは構成の不具合の結果として発生した可能性があります。具体的には、この場合に最も適切な解決策を探しています...「Vanilla」amavis/clamavインストールが、受信メールをスキャンするために必要なときに作成した一時フォルダのコンテンツにアクセスできない場合。

this 同様の(Ubuntu以外の)質問を認識しています。 Redhat/Centosの答えは、Ubuntuで経験した問題を解決しません。

この問題は「Ubuntu 14.04.2 LTS」で発生します-保留中の更新はありません。

12
aSteve

clamdユーザーはamavisグループのメンバーでしたが、clamdプロセスはclamavclamdではない)ユーザーとして実行されていました。

clamavグループにamavisを追加すると、問題が解決しました。

6
aSteve

有効な解決策は変更することです

AllowSupplementaryGroups false-> true

/etc/clamav/clamd.conf

clamav-daemonを再起動します

13
war

AllowSupplementaryGroupsはもう存在しないため、次のように各ユーザーを他のグループに追加して終了しました。

usermod -a -G clamav amavis
usermod -a -G amavis clamav

(そして念のためすべてを再起動します)

/etc/init.d/clamav-daemon restart
/etc/init.d/amavis restart
/etc/init.d/postfix restart

これにより、/var/lib/amavis/tmpのフォルダーのアクセス許可を変更する必要がありません(これらのアクセス許可が次のapt-getアップグレードでそのまま残るかどうかわかりません...)

2
Worst

私は周りを見回していたが、自分が何をしたかについての情報を見つけられなかった。最初に問題のドライブをアンマウントしてから、ドライブを再マウントしました。

ls -l /dev
Sudo umount /dev/sdd4
Sudo mkdir /mnt
Sudo mount /dev/sdd4 /mnt
0
Klint Krossa