Chmod-Rechte automatisch

rasmeratus

New Member
Hallo Leute,

ich habe einen Cromjob für Awstats laufen, der jede stunde automatisch die Datei mail.info im Verzeichnis var/log auswertet. Nun habe ich das Problem, dass die Datei nach einiger Zeit wenn sie zu groß ist, neu erstellt wird, und die Chmod-Rechte nicht mehr 777 sondern 640 sind. Weiß jemand wie ich einstellen kann, dass die Datei automatisch die Rechte 777 hat? Mit rekursiv setzen hab ichs schon versucht, bringt nichts.
Oder gibts da vielleicht eine möglichkeit, auch das per Cronjob laufen zu lassen?

Viele Grüße,

Timo
 
Code:
man logroate
vi /etc/logrotate.conf
Aber bevor Du so einen schwachsinnigen Wert wie 777 für die Rechtevergabe verwendest, solltest Du darüber nachdenken, was der bewirkt, und aus welchem Grund die Datei vorher die Rechnt 640 hatte.
 
Man kann in den entsprechenden logrotate config Dateien mit "create" festlegen welche chmod Werte gesetzt werden sollen!

Wenn du den cron als root ausführst reichen auch die chmod Werte 640!
 
Last edited by a moderator:
Naja, eigentlich müsste nur die Datei mail.info die Rechte 777 haben, um sie per Crontab von awstats auswerten zu lassen.
Ich hab schonmal ein bisschen gegoogelt, aber nichts gefunden.
Weiß jemand von euch, wie man bei logrotate oder syslogd einstellen kann, dass eine bestimmte Datei mit 777 versehen wird? Oder gibt es nicht doch eine andere Möglichkeit das per Crontab zu tun?
 
Wenn ich den Crontab laufen lasse, und die Datei nur 640 hat, zeigt er mir an, er hat keine Rechte. Darum...

Crontab 1:
Code:
	/usr/bin/perl /xxx/xxx/xxx/html/cgi-bin/awstats/awstats_updateall.pl now

Crontab 2:
Code:
/usr/bin/perl /xxx/xxx/xxx/html/cgi-bin/awstats/awstats.pl -config=mail -output -staticlinks >/xxx/xxx/xxx/html/files/stats/mail.htm
 
Wenn ich den Crontab laufen lasse, und die Datei nur 640 hat, zeigt er mir an, er hat keine Rechte.
Und das ist deine Begründung für das Setzen der Rechte auf 777? Das ist ein völlig falsche Vorgehensweise. Obwohl es das nicht wirklich trifft: fatale Vorgehensweise wäre wohl passender. Ich hoffe du hast auf deinem Server nicht bei jedem Problem dieser Art einfach die Zugriffsrechte auf 777 gesetzt. Wenn doch ... :eek:

Dein Problem ist denke ich ganz einfach: Du startest das Skript, welches die mail.log auswerten, soll nicht als root. Trage den Cronjob in die crontab von root ein, dann sollte dein "Problem" schon gelöst sein. Systemweite Logdateien, wie es die Logdaten des Mailservers nun mal sind, sollten prinzipiell nur von root lesbar/schreibbar sein. Wenn es nicht so wäre, könnte jeder nicht root Nutzer die Logdateien lesen, vielleicht sogar ändern, und das will man als Sysadmin keineswegs. Oder? ;)

Cronjob in die crontab von root einfügen (ein Beispiel):
su -
crontab -e
Deinen Eintrag machen und speichern. Mehr ist es nicht. Und natürlich die Zugriffsrechte wieder auf 640 setzen, so wie das ursprünglich gewesen ist.
 
Last edited by a moderator:
Back
Top