Почему ClamAV не может сканировать некоторые файлы?

Всякий раз, когда я пытаюсь выполнить сканирование ClamAV для файла во многих из моих bin каталоги, это не удается с

Не удается открыть файл или каталог ОШИБКА

сообщение. Я знаю, что можно заставить 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/sbin в AppArmor также, и это только кажется нелогичным.

2 ответа

Решение

Это был AppArmor, не позволяющий мне получить доступ к бину. Я изменился:

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

добавляя:

/bin/** r,

К нему и удалось отсканировать файлы в / bin. Если я хочу добавить другие каталоги, мне нужно просто добавить строки в этот файл, чтобы включить их. Строка AppArmor выше означает / bin и все дочерние папки, рекурсивно, с доступом только для чтения, и это все, что нужно ClamAV. Данный файл является директивой AppArmor для получения специальных разрешений / usr / sbin / clamd, которые являются демоном службы ClamAV. Так что это было все, что мне нужно было сделать, чтобы это заработало. Спасибо @Ramhound за подсказку!

У меня возникли проблемы при сканировании импортированной файловой системы NFS, например /data/nfs/dir1/file.jpg.

      clamdscan /data/nfs/dir1/file.jpg: Can't open file or directory ERROR

Добавление «/data/nfs/* r» в файл /etc/apparmor.d/local/usr.sbin.clamd мне не помогло. Запускapparmor_statusпоказывает, что процесс clamd находится в принудительном режиме:

      2 processes are in enforce mode.
   /usr/bin/freshclam (18572) 
   /usr/sbin/clamd (18677) 

Итак, я установил пакет apparmor-utils и настроил процесс clamd как жалобу:

      aa-complain /usr/sbin/clamd

Затем мне удалось отсканировать файл

      clamdscan /data/nfs/dir1/file.jpg
/data/nfs/dir1/file.jpg: OK
Другие вопросы по тегам