最近、イライラするような問題に気づきました...電子メールを処理するとき、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」で発生します-保留中の更新はありません。
clamd
ユーザーはamavis
グループのメンバーでしたが、clamd
プロセスはclamav
(clamd
ではない)ユーザーとして実行されていました。
clamav
グループにamavis
を追加すると、問題が解決しました。
有効な解決策は変更することです
AllowSupplementaryGroups false-> true
/etc/clamav/clamd.conf
clamav-daemonを再起動します
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アップグレードでそのまま残るかどうかわかりません...)
私は周りを見回していたが、自分が何をしたかについての情報を見つけられなかった。最初に問題のドライブをアンマウントしてから、ドライブを再マウントしました。
ls -l /dev
Sudo umount /dev/sdd4
Sudo mkdir /mnt
Sudo mount /dev/sdd4 /mnt