Netztaucher

Eigentümer rotierter Logfiles

Der grösste Datenballast eines Linux liegt wohl in /var/log. Der Dienst logrotate sorgt dafür das diese Dateien rotiert, komprimiert und gelöscht werden. Confixx bietet Benutzern in dem Homeverzeichnis Zugriff auf zwei dieser Dateien. Die access_log zeigt alle Webzugriffe auf die Dateien des Users, die error_log die aufgetretenen Fehler.

Standardmässig liegen diese Dateien jedoch offenbar mit Rechten die es dem Benutzer nicht erlauben diese zu lesen und zu beschreiben. Ich habe nun nach dem Schalter gesucht welcher das abstellt. Hier habe ich dann den Hinweis gefunden:

create Modus User Gruppe Direkt nach der Rotation wird die Logdatei wieder erstellt (mit dem selben Namen, den die gerade rotierte Datei hatte). Modus spezifiziert dabei den Zugriffsmodus in oktaler Form (wie beim Kommando chmod), User ist der User, der zum Eigentümer der Logdatei wird und Gruppe bestimmt die Gruppenzugehörigkeit der Datei. Jedes dieser Attribute kann weggelassen werden, in diesem Fall wird das neue Logfile die selben Attribute bekommen, die schon das alte hatte.

Fein. das werde ich also ausprobieren. Jetzt bleibt also nur noch die Aufgabe jeder vorkommenden access_log und error_log, sowie dem Ordner log in /home/www die richtige Gruppe zu verpassen. Das tut dieses kleine Shellscript:

#!/bin/bash
cd /home/www/
for i in web*
do
cd $i
find . -type f ( -name error_log -o -name access_log ) -print0 | xargs -0 chown $i.$i
find . -type d ( -name log ) -print0 | xargs -0 chown $i.$i
cd ..
done

0 Kommentare

Dein Kommentar

An Diskussion beteiligen?
Hinterlasse uns Deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.