it-swarm.com.de

Linux: Wie erzwinge ich bestimmte Berechtigungen für neu erstellte Protokolle, die durch Protokollrotation erstellt werden?

Ich habe festgestellt, dass die in /var/log Erstellten E-Mail-Protokolle von root (Benutzer und Gruppe) erstellt werden und deren Eigentümer sind. Ich habe eine Nagios-Prüfung geschrieben, die das Protokoll überwacht, und um dem Nagios-Benutzer den Zugriff darauf zu ermöglichen, habe ich der Gruppe other Leseberechtigungen erteilt, d. H.

chmod o+r /var/log/maillog

Wenn ich darüber nachdenke, ist dies nur eine Protokolldatei. Wenn die Protokolldatei gefüllt wird, benennt der Protokolldrehmechanismus diese Datei um und öffnet eine neue, aber die neue maillog -Datei hat nicht die read write Was ich erlaubt habe.

Meine Frage ist also, wie kann ich sicherstellen, dass der Protokolldrehmechanismus alle neuen Mailllog-Dateien mit den richtigen Berechtigungen für den Nagios-Benutzer erstellt?

Danke im Voraus

15
Itai Ganot

logrotate hat die Option create:

create mode owner group

Unmittelbar nach der Drehung (bevor das Postrotate-Skript ausgeführt wird) wird die Protokolldatei erstellt (mit demselben Namen wie die gerade gedrehte Protokolldatei). mode gibt den Modus für die Protokolldatei in Oktal an (derselbe wie chmod (2)), der Eigentümer gibt den Benutzernamen an, dem die Protokolldatei gehören soll, und group gibt die Gruppe an, zu der die Protokolldatei gehören soll. Jedes der Protokolldateiattribute kann weggelassen werden. In diesem Fall verwenden diese Attribute für die neue Datei dieselben Werte wie die ursprüngliche Protokolldatei für die ausgelassenen Attribute. Diese Option kann mit der Option nocreate deaktiviert werden.

Mehr Infos mit man logrotate.

Verwenden Sie es so:

/var/log/maillog {
....
        create 664 user group
....
}

entweder in /etc/logrotate.conf oder eine separate Datei in /etc/logrotate.d und prüfen Sie, ob keine andere Datei dies bereits überschreibt. Wie dies konfiguriert ist, hängt von Ihrem Betriebssystem ab (z. B. unter Ubuntu wird dies in der Konfiguration rsyslog behandelt).

21
Sven