web-dev-qa-db-ja.com

clamdscanが何もスキャンできないのはなぜですか?

ここで何が起こっているのか分かりません。 clamavclamav-freshclamおよびclamav-daemonをインストールして、実行中のマシンで(cronを使用して)自動スキャンを実行しましたUbuntu Desktop 10.04 LTS x64

残念ながら、clamdscanは何もスキャンしません。これは私が試みるたびに受け取る出力です:

root@uhs:/raid/Share/Public/# clamdscan -v /raid/Share/Public/
/raid/Share/Public: lstat() failed: Permission denied. ERROR

----------- SCAN SUMMARY -----------
Infected files: 0
Total errors: 1
Time: 0.004 sec (0 m 0 s)
root@uhs:/raid/Share/Public/#

/raid/Share/Publicには777の権限があり、clamav-daemonユーザーclamavadminおよびrootグループの両方に追加されました。どのファイルまたはディレクトリをスキャンしようとしても、同じエラーが発生します。

私もdpkg-reconfigure clamav-baseを実行し、デーモンユーザーrootを作成して、それが役立つかどうかを確認しました(これは役に立ちませんでした)。そしてもちろん、これらすべての変更の間にservice clamav-daemon restartを実行しました。

私はcat file_name | clamdscan -オプションを知っていますが、ディレクトリ全体を再帰的にスキャンする必要があるため、明らかにこれは機能しません。

何が間違っていますか? clamdscanを使用できますか?

助けてくれてありがとう。


更新

Sudo -u clamav stat /raid/Share/Public/の出力:

root@uhs:/raid/Share/Public# Sudo -u clamav stat /raid/Share/Public/
  File: `/raid/Share/Public/'
  Size: 6           Blocks: 0          IO Block: 4096   directory
Device: 900h/2304d  Inode: 54526208    Links: 2
Access: (0777/drwxrwxrwx)  Uid: ( 1000/awensley)   Gid: (  120/   admin)
Access: 2011-01-19 01:00:00.304365306 -0600
Modify: 2011-01-18 22:47:06.793592673 -0600
Change: 2011-01-19 00:42:52.023813550 -0600
root@uhs:/raid/Share/Public# 

更新2

5台のUbuntu 10.04マシンでまったく同じ問題が発生します。それらの3つのサーバー。だから何かが足りないか、ここに本当の問題があります。


アップデート3

これを Launchpadのバグレポート として送信しました

6
Andrew Ensley

他の場所で、私はAppArmorまたはSELinuxがclamdscanに問題を引き起こす可能性があることを見てきました。

Sudo aa-complain clamdを実行し、再スキャンが機能する場合、おそらくあなたの問題です。 (必ずSudo aa-enforce clamdで再度有効にしてください。)

Ubuntuで実行していないSELinuxを一時的に無効にするには、echo 0 > /selinux/enforceを試してください。 SELinuxを実行している場合は、フォローアップできます。

更新:ランチパッドからの非常に興味深いスレッド: https://bugs.launchpad.net/ubuntu/+source/clamav/+bug/45025 犯人としてのAppArmorプロファイルを排除するために、そこでのJamie Strandbogeのコメントに従います。


これらが当てはまらない場合、思い浮かぶハックは、tarを介してディレクトリを標準出力にパイプし、それをclamdscan(単一のファイルについて言及したもののバリエーション)に送ります。私はそれが次のように見えると思う:

 tar -cvf --to-stdout /somedirectory | clamdscan -  

Ubuntu Clamavチームのppaからclamavの最新パッケージバージョンを入手できるはずです。 https://launchpad.net/~ubuntu-clamav/+archive/ppa

また、 ClamAVサイト から: "バグレポートを提出する場合は、常に 最新の開発コード と照合してください。" (まだこれを行っていない場合)そのコードをGitリポジトリから手動でプルし、コンパイルする必要があります。

Ubuntuパッケージのバグレポートについては、 http://askubuntu.com...how-do-i-report-a-bug を参照してください。

=======

注意すべきことの1つは、ホームディレクトリで問題なく動作するはずのclamscanではなく、clamdscanであるということです。

Ubuntuは、デフォルトでapparmorを有効にすることにより、いくつかの可能性のある複雑さ(非常に望ましいセキュリティの向上)を提示します。

(clamdscanではclamavデーモンが実行されている必要がありますが、アドホックなユーザー指向のパッケージであるclamscanは必要ありません。clamdscan/ clamdの追加機能により、複雑なオーバーヘッドが追加されます。)

しかし、それに対して、この投稿のバグで言及されたclamdscanとapparmorのバグは、現在のパッケージの時点までに修正されているはずです。


更新済み再現および解決の試み

私はあなたの環境やユーザーエラーのコントロールを完全に再現できるとは思いません(間違いなく私のもので、おそらくあなたのものです)が、あなたが持っている同じバージョンのclamavの下で同じ問題だと思うものを再現しました。

さらに、gitリポジトリから最新のコードをダウンロードし、コンパイルしてインストールしましたが、まだ問題があります。

SELinuxはありませんが、AppArmorは持っています。私はそれを正しく説明しましたか?私は100%ではありません。ただし、AppArmorをオフにした後でも、エラーが拒否されました。

=======

4
belacqua