Frage

Ich bin einen neuen Dämon zu schreiben, die auf Debian Linux gehostet werden.

Ich habe festgestellt, dass / var / log Wurzel hat nur Berechtigungen zu schreiben, so dass mein Dämon dort nicht schreiben kann Log-Dateien.

Allerdings, wenn es dort schreibt, scheint es, es automatische Log-Rotation gewinnen wird, und auch arbeiten, wie ein Benutzer erwarten könnte.

Was ist der empfohlene Weg für ein Daemon Einträge schreiben protokollieren, die in / var erscheinen / log, ohne als root ausgeführt werden zu müssen?

Der Dämon ist ein Webserver, so wird der Protokolldatenverkehr Apache ähnlich sein.

War es hilfreich?

Lösung

Sie sollten ein Unterverzeichnis wie /var/log/mydaemon Erstellen der Benutzer den Besitz des Daemons mit

Andere Tipps

Als root ein Logfile gibt und die Dateien Besitzer Benutzer auf den Webserver ändern:

# touch /var/log/myserver.log
# chown wwwuser /var/log/myserver.log

Dann kann der Server auf die Dateien schreiben, wenn sie als Benutzer wwwuser laufen. Es wird nicht die automatische Log-Rotation gewinnen, though. Sie haben die Log-Datei hinzufügen, um /etc/logrotate.conf oder /etc/logrotate.d/... und machen Sie Ihren Server die Log-Datei wieder öffnen, wenn logrotate Signale es sollte.

Sie können auch verwenden syslog für die Protokollierung, wenn das Ihr Szenario besser passen.

Zwei Optionen:

  1. Starten Sie als root, die Datei öffnen, dann fallen Erlaubnisse setuid. (Ich erinnere mich nicht die genaue Systemaufrufe Berechtigungen für dropping.) Sie werden dies trotzdem zu tun haben, wenn Sie 80 auf TCP-Port binden möchten oder einen beliebigen Port unter 1024.
  2. Erstellen Sie ein Unterverzeichnis wie / var / log / mydaemon der Benutzer den Besitz des Daemons mit, wie WiseTechi sagte .

Dateien unter /var/log werden nicht automatisch gedreht wird; stattdessen Rotation wird durch /etc/logrotate.conf und Dateien unter /etc/logrotate.d gesteuert.

Mit dem "Logger" Befehl

http://linux.die.net/man/1/logger

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top