|
Перестали обновляться базы ClamAV по крону с ошибкой: /etc/cron.daily/freshclam:
ERROR: Problem with internal logger
(UpdateLogFile = /var/log/clamav/freshclam.log). ERROR: Can't open
/var/log/clamav/freshclam.log in append mode (check permissions!).
После небольшой проверки выяснилось, что по умолчанию freshclam работает от имени пользователя «clamav», а непосредственно антивирус работает от имени пользователя «clam», ему же и принадлежат права на запись в директорию и в файлы: /var/log/clamav/ /var/log/clamav/freshclam.log /var/lib/clamav/
При этом в самом скрипте /etc/cron.daily/freshclam есть строка: chown clam.clam "$LOG_FILE"
а сам он следующего содержания: #!/bin/sh
### A simple update script for the clamav virus database. ### This could as well be replaced by a SysV script.
### fix log file if needed LOG_FILE="/var/log/clamav/freshclam.log" if [ ! -f "$LOG_FILE" ]; then touch "$LOG_FILE" chmod 644 "$LOG_FILE" chown clam.clam "$LOG_FILE" fi
/usr/bin/freshclam \ --quiet \ --datadir="/var/lib/clamav" \ --log="$LOG_FILE"
Откуда такое расхождение, выяснять лично я не стал. Так вот тут два варианта:
Вариант 1:
Изменить в файле /etc/freshclam.conf строку
DatabaseOwner clamav
на DatabaseOwner clam
Вариант 2: Изменить /etc/cron.daily/freshclam, добавив в него строку: --datadir="/var/lib/clamav"
Как конечный результат для второго варианта: .... .... ....
/usr/bin/freshclam \ --quiet \ --user=clam \ --datadir="/var/lib/clamav" \ --log="$LOG_FILE"
После этого обновление заработало.
|