amavis/clamav: Fehler bei DB-Updates (connect(): Permission denied)

Falls man auf einmal von cron mails bekommt wie:

/etc/cron.daily/freshclam:
 
connect(): Permission denied

Und im freshclam.log:

WARNING: Clamd was NOT notified: Can't connect to clamd through /var/spool/amavisd/clamd.sock

Dann kann das unter anderem daran liegen, dass die Verzeichnisberechtigungen vom Verzeichnis in dem das file clamd.sock liegt (in diesem Falle: /var/spool/amavisd) falsch eingestellt sind.

Diese müssen chmod 770 sein. Falls sie z.B. 700 sind löst ein Umstellen der Berechtigungen das Problem:

chmod -v 770 /var/spool/amavisd

Weitere Infos: [https://bugzilla.redhat.com/show_bug.cgi?id=548234|Red Hat: Bug 548234 – Freshclam cannot notify clamd of database updates due to permission denied]

clamav-freshclam: Problem with internal logger

Beim Einsatz von clamav, bzw dessen Update Tool erhält man oft Mails in der Form:

ERROR: Problem with internal logger (UpdateLogFile = /var/log/clamav/freshclam.log)

Nach einem Neustart von freshclam funktioniert alles wieder eine Zeit lang, danach wiederholt sich der Fehler.

Die Lösung hierzu ist freshclam für syslog als logger zu konfigurieren, da der interne nicht ganz ausgereift zu sein scheint (und es sowieso besser ist alles über den selben logger laufen zu lassen).

So wirds umgestellt:

In der Datei /etc/clamav/freshclam.conf den Wert:

UpdateLogFile /var/log/clamav/freshclam.log

auskomentieren, dafür "LogSyslog" auf True setzen:

LogSyslog true
LogFacility LOG_LOCAL6

Das ganze sieht dann so aus:

#UpdateLogFile /var/log/clamav/freshclam.log
LogSyslog true
LogFacility LOG_LOCAL6

Nun passt man noch den syslogd an:
/etc/syslog.conf öffnen, dann unten anfügen:

# save clamav log
local6.*                        /var/log/clamav/freshclam.log

Nun noch die beiden daemons neu starten und fertig:

/etc/init.d/sysklogd restart
/etc/init.d/clamav-freshclam restart

Info-Quelle: http://sial.org/howto/clamav/freshclam/