Ошибка в работе ClamAV-clamd
На сервере под управлением FreeBSD 7.2-RELEASE в работе при связке программы антиспама amavisd-new и программы антивируса clamav (версии установленных программ: amavisd-new-2.6.4 и clamav-0.95.3) в логах, которые пишет amavisd-new появляются ошибки… |
Nov 17 10:16:33 mail amavis: (94742-03) (!)run_av (ClamAV-clamd) FAILED - unexpected , output="/var/amavis/tmp/amavis-20091117T000104-94742/parts: lstat() failed: Permission denied. ERROR\n" Nov 17 10:16:33 mail amavis: (94742-03) (!)ClamAV-clamd av-scanner FAILED: CODE(0x89d8868) unexpected , output="/var/amavis/tmp/amavis-20091117T000104-94742/parts: lstat() failed: Permission denied. ERROR\n" at (eval 115) line 594. Nov 17 10:16:33 mail amavis: (94742-03) (!!)WARN: all primary virus scanners failed, considering backups
Как сделать, чтобы amavisd-new писал отдельный лог, можно прочитать этой моей статье.
Она возникает из-за того что clamav не может получить доступ к папке, куда складываются для него письма на проверку. amavisd-new передает ему этот путь в виде строки, а права на эту папку стоят:
# ls -Al /var/ | grep amavis drwxr-x--- 6 vscan vscan 512 16 ноя 10:34 amavis
Проблема решается очень просто. Мы добавляем пользователя под которым запускается clamav (обычно clamav) в группу vsan. Для этого открываем под рутом своим редактором файл, где хранятся описания групп:
# nano -w /etc/group
находим строчку:
vscan:*:110:
и добавляем в неё пользователя clamav, т.е.
vscan:*:110:clamav
Если там уже есть пользователи, то добавляем через запятую:
vscan:*:110:someuser,clamav
Перезапускаем антивирус.
# /usr/local/etc/rc.d/clamav-clamd restart
Ошибки должны исчезнуть.
Удачи!