web-dev-qa-db-ja.com

ClamAVが一部のファイルをスキャンできないのはなぜですか?

binディレクトリの多くにあるファイルに対してClamAVスキャンを実行しようとすると、失敗します。

ファイルまたはディレクトリを開くことができませんエラー

メッセージ。 ClamdScanにbinディレクトリをスキャンさせることは可能ですが、その方法がわかりません。助言がありますか?

$ clamdscan /bin/true
/bin/true: Can't open file or directory ERROR

----------- SCAN SUMMARY -----------
Infected files: 0
Total errors: 1
Time: 0.000 sec (0 m 0 s)

動作するマシンと動作しないマシンのAppArmor構成ファイルの違いを見つけることができません。次を追加することで、回避策を使用してスキャンすることができました。

/bin/** r,

に:

/etc/apparmor.d/local/usr.sbin.clamd

しかし、この行は他のマシンのローカルのclamdAppArmorパーミッションファイルには存在しないため、私はまだ混乱しており、ClamAVと言うだけのショットガンソリューションはアクセスできます/bin以下のすべては、主にこれが解決策である場合、/sbin/usr/bin/usr/sbinAppArmorに追加する必要があるためです。直感に反しているようです。

4
TimeHorse

それは私がbinにアクセスするのを妨げていたAppArmorでした。私が変更され:

/etc/apparmor.d/local/usr.sbin.clamd

追加することによって:

/bin/** r,

それに、/ bin内のファイルをスキャンすることができました。他のディレクトリを追加したい場合は、そのファイルに行を追加してそれらを含める必要があります。上記のAppArmor行は、ClamAVに必要なすべての読み取り専用アクセス権を持つ/ binとすべての子フォルダーを再帰的に意味します。問題のファイルは、ClamAVサービスデーモンである/ usr/sbin/clamdが受け取る特別なアクセス許可に関するAppArmorのディレクティブです。だから、これは私がそれを機能させるために必要なすべてでした。ヒントをありがとう@Ramhound!

6
TimeHorse