Benutzerrechte im ClamAV-log

niccki

New Member
Hallo, ich habe ClamAV installiert. Nun ist es seltsamerweise so, dass die clamd.log-Dateien vom user clamd angelegt und aktualisiert werden, die freshclam.log-Dateien jedoch nur vom user clamd angelegt werden, aber vom user clamav aktualisiert werden. Da die Rechte jedoch so angelegt werden, dass nur clamd etwas tun kann, bekomme ich jede Woche Samstag nacht stündlich 2 mails mit Fehlerreports, die dann aufhören, wenn ich den user auf clamd stelle.

Da ich nicht jeden Sonntagmorgen umstellen möchte, wäre ich für einen anderen Lösungsansatz dankbar.

Sprich: Wo "bestimmt" clamav, welcher user die freshclam.log Dateien anlegen und bearbeiten darf, was muss ich ändern?
 
freshclam.log wird vom freshclam-Dienst geschrieben, der bei Dir entweder als clamav gestartet wird (siehe /etc/freshclam.conf) oder in dessen Crontab steht.
 
Wobei das Logfile vermutlich per logrotate rotiert wird und dort die Rechte für das neue Logfile falsch konfiguriert sind.
 
ja, es liegt sicher am logrotate....

in der freshclam.conf sehe ich keine Hinweise auf eine Benutzer- oder Rechtevergabe, außer in diesem Absatz:
Code:
# By default when started freshclam drops privileges and switches to the
# "clamav" user. This directive allows you to change the database owner.
# Default: clamav (may depend on installation options)
DatabaseOwner clamav

M. E. sollte ich diesen Wert jedoch nicht ändern, denn mit der DB hat das ja nichts zu tun.

Der Inhalt der cron.hourly/freshclam ist

Code:
 LOG_FILE="/var/log/clamav/freshclam.log"
 if [ ! -f "$LOG_FILE" ]; then
     touch "$LOG_FILE"
     chmod 644 "$LOG_FILE"
     chown clamav.clamav "$LOG_FILE"
 fi

/usr/bin/freshclam \
    --quiet \
    --datadir="/var/clamav" \
    --daemon-notify="/etc/clamd.conf"
Hierbei spielt es KEINE Rolle, ob man chown chlamav.clamav oder chown clam.clam setzt, die Datei wird immer mit clam erstellt (und ich stelle sie brav sonntags wieder auf clamav, damit ich nicht zugemailt werde).

Der Inhalt der beiden stündlich erscheinenden Mails ist Folgender:

Code:
Betreff: Cron <root@server2> /usr/bin/freshclam -u clamav --quiet
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!).

und

Code:
Betreff: run-parts /etc/cron.hourly
/etc/cron.hourly/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!).

Soweit mal....

und - gibt es für die Testphase eine Möglichkeit, die log-rotation täglich zu machen? Es ist immer so müßig, für jeden Lösungsansatz eine Woche zu warten.
 
Last edited by a moderator:
Betreff: Cron <root@server2> /usr/bin/freshclam -u clamav --quiet

Du führst freshclam als clamav aus, der muß dementsprechend in das Logfile schreiben können.
Falls logrotate die Datei neu erstellt (muß er das? Wenn clamav nach /var/log/clamav/ schreiben kann, brauchst Du das nicht), dann sollte das auch mit den passenden Rechten geschehen.
 
Hallo Whistler, ja, soweit hatte ich das in der Theorie auch schon verstanden. Aber wie bekomme ich hin, dass clamav selbst in den Ordner schreibt und die Rechte so setzt - oder logrotate???
 
in Anbetracht der Annäherung des Samstags, noch ein letzter Versuch... hat jemand eine Idee, wie ich clamav und nicht clam (oder umgekehrt... ist ja auch egal) als den änderungsberechtigten User bestimmen kann.

In Zusammenfassung des Problems:
Die Logdatei wird regelmäßig von clam angelegt und seltsamerweise von clamav beschrieben, was eben nicht klappt. Deshalb ist mein derzeitiger manueller Fix, den User Sonntag morgens stets auf clamav zu ändern (andernfalls bekomme ich 2x stündlich Fehlermails).

Hilfreicher wäre aber natürlich, dass gleich clamav als Besitzer eingetragen wäre.
Nur: wie kann ich das konkret veranlassen?
 
ich habe die Lösung gefunden :-), zumindest glaube ich das. Überprüfen kann ich es erst in einer Woche, aber ich bin zuversichtlich, sogar im Grunde sicher:

in /etc/logotate.d/freshclam habe ich clam auf clamav ändern können.
Der Eintrag lautet jetzt:

/var/log/clamav/freshclam.log {
missingok
notifempty
create 644 clamav clamav
}

Ich gehe davon aus, dass es nun okay ist.
 
Back
Top