amvavisがclamavの「許可を拒否」と報告する問題を修正する方法


12

最近、イライラするような問題に気づきました...電子メールを処理するとき、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値を使用しているように見えます。もちろん、この障害は、多数のバグまたは設定の不具合の結果として発生した可能性があります。具体的には、この場合に最も適切な解決策を探しています...「バニラ」amavis / clamavインストールは、受信メールをスキャンするために必要なときに作成した一時フォルダのコンテンツにアクセスできません。

このような(Ubuntu以外の)質問を知っています。Redhat / Centosの答えは、Ubuntuで経験した問題を解決しません。

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


グループはamavisのための書き込み権限がない/var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt//var/lib/amavis/tmp/amavis-20150402T140519-06376-PZcyHfOt/parts
AB

これを試してみてくださいchmod -R g+w /var/lib/amavis/tmp
AB

問題は、ディレクトリへのグループ書き込みを許可する権限を変更できないことではありません...問題は、/ var / lib / amavis / tmp /の下に作成されたディレクトリを確認する方法がわからないことです。将来-正しい権限で作成されます。このディレクトリは、amavisが添付ファイルを検査するためにメッセージを展開する場所のようです。動作するために使用されるデフォルト...今、いくつかの更新後、それは動作しません。
aSteve

次に、質問に取り組みます。
AB

回答:


13

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

AllowSupplementaryGroups false-> true

/etc/clamav/clamd.conf

clamav-daemonを再起動します


2
これが私にとってそれを解決したものです(私はDebian Jessieにいます)。amavisグループにclamavを追加しても解決しませんでした。
-chmike

2
このAllowSupplementaryGroupsオプションは、最新バージョンのclamav(0.99.2 +、2016年6月2日、アップストリーム)で削除されました。
ダニエルベリテ

1
+1これは機能しました。以下の承認された答えはありません。Ubuntu AmavisNew wikiページをフォローした場合(できれば)、補足グループとしてamavis / clamavをすでに追加しているはずです。承認された回答はこれを繰り返す以外の何もしません-そして、動作しません。16.04.1 LTSでデフォルトのパッケージを実行しています。参照:help.ubuntu.com/community/PostfixAmavisNew
bshea

具体的には、help.ubuntu.com
community

確認済み:私の問題も修正。UbuntuLTS 16.04.1

6

しながら、clamdユーザーがメンバーであったamavisグループ、clamdプロセスは、実行していたclamav(しないclamd)ユーザ。

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


2

同様に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アップグレードでそのまま残るかどうかわかりません...)


16.04.1のデフォルトパッケージには、AllowSupplementaryGroupsメイン設定にディレクティブ があります。誤解を招く情報を投稿しています。ディレクティブが新しい​​バージョンに存在しない場合-各アカウントに補足グループを追加するのはなぜですか?まだ使用されていないため、16.04.1の構成にはまだありますか?うーん。証拠を見せてください。ところで、この「TRUE」を切り替えると、すべてが16.04.1で機能しました。ref:help.ubuntu.com/community/PostfixAmavisNew#Troubleshooting
bshea

これは、AllowSupplementaryGroupsが存在しないということではありません。さらに、実際に機能させるにはtrueに設定する必要があります。
user3021729

ソースバージョン0.99.2からのGrep clamd / clamd.c- if(optget(opts、 "AllowSupplementaryGroups")-> enabled){clamd / clamd.c-#ifdef HAVE_INITGROUPS clamd / clamd.c:if(initgroups(opt-> strarg、user-> pw_gid)){clamd / clamd.c:fprintf(stderr、 "エラー:initgroups()failed。\ n"); clamd / clamd.c- optfree(opts); clamd / clamd.c- 1を返します。clamd / clamd.c-} clamd / clamd.c-#else
丁-陳

0

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

ls -l /dev
sudo umount /dev/sdd4
sudo mkdir /mnt
sudo mount /dev/sdd4 /mnt

-5

ターミナルでこれを入力してみましたか:

       sudo -i
       gksu thunar

thunarがインストールされていない場合、これをターミナルに入力します:

        sudo apt-get install thunar 

ディレクトリの読み取りと書き込みの許可を設定します。

       /var/lib/amavis

これは聖霊降臨祭であり、この方法でうまくいくかもしれません。


4
Thunarが権限を設定しますか?ああ、神様。
AB

2
そして、サーバー上で?
AB

Mishael、これを使用して、UbuntuデスクトップエディションのようにGUI(gtk2 + xfce)が既にインストールされている場合に権限を変更できます。ここのOPでは、Ubuntuサーバーの使用について言及しました。つまり、GUIはインストールされておらず、代わりにCLI /コマンドラインを使用する必要があります。eq:(sudo chmod -R +rw /var/lib/amavis再帰の場合は-R)
-user.dz

このulimet -iを無制限に試してみてください。この方法でうまくいくかもしれません。
マイケル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.