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


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

Не удается открыть файл или каталог ERROR

сообщение. Я знаю, что можно заставить 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

Но эта строка отсутствует на локальном компьютере другой машины clamd  AppArmor файл разрешений, поэтому я все еще запутался, и такое решение для пулеметов просто говорит ClamAV может получить доступ ко всем в /bin и ниже в основном потому, что если это решение, то я должен добавить /sbin  /usr/bin а также /usr/sbin в AppArmor также, и это просто кажется противоречащим интуиции.


4
2017-11-07 22:57


происхождения


Предоставьте информацию о разрешении в папке. - Ramhound
@Ramhound это -rwxr-xr-x 1 root root 27184 Nov 8 07:49 /bin/true* для данного исполняемого файла и drwxr-xr-x 2 root root 4096 Nov 7 15:11 bin/ для каталога. Но я думаю, что это связано с AppArmor. - TimeHorse


ответы:


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

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

добавлением:

/bin/** r,

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


5
2017-11-12 13:13



есть ли какая-нибудь причина, по которой у вас есть 2 виргини в вашем примере? Я смог заставить его работать только с 1, то есть: /bin/* r - macguru2000
Это было долгое время, но если я правильно помню, один * этот каталог, два, **, также означает подкаталоги recurse. - TimeHorse
Спасибо спасибо, если это так, мне тоже придется обновить мою ... дайте знать, что я нахожу. Ура! - macguru2000
Подтверждено, что 2 звездочки действительно означают, что все подкаталоги тоже разрешены. Еще раз спасибо! - macguru2000
Рад, что смог помочь! - TimeHorse