Cron: Erlaubnis für alles verweigert

8

Als normaler Benutzer kann ich meine Cron-Einstellungen nicht bearbeiten. Ich bekomme eine "Erlaubnis verweigert" für alles: Auflisten der Cron-Befehle oder Bearbeiten.

Beispiel:

cron -l
cron: can't open or create /var/run/crond.pid: Permission denied

crontab -e
/var/spool/cron/crontabs/skerit: Permission denied

Dies sind die Berechtigungen von /var/run/crond.pid:

-rwxr-Sr-- 1 root root 5 2011-05-27 12:44 crond.pid
---------- 1 root root 0 2011-03-23 21:13 crond.reboot

Und die Berechtigungen von / var / spool / cron /:

drwxr-sr-x  5 root root     4,0K 2009-12-23 23:01 cron

Alle Benutzer werden auch zur Datei / etc / groups hinzugefügt:

crontab:x:102:skerit,www-data
Skerit
quelle

Antworten:

3

Dies war ein unordentliches Problem.

Am Ende habe ich alle Benutzer zur Crontab-Gruppe hinzugefügt und den Gruppenbesitz aller benötigten Dateien für diese Crontab-Gruppe festgelegt.

Viele Berechtigungen wurden durcheinander gebracht. Wenn Sie den Gruppenbesitz auf etwas anderes ändern, werden diese Berechtigungen zuerst "zurückgesetzt".

Die ausführbare Datei von crontab:
sudo chgrp crontab /usr/bin/crontab
sudo chmod g+s /usr/bin/crontab
Ergebnis:-rwxrwsr-x 1 root crontab 37K 2010-04-15 08:51 /usr/bin/crontab

Die Cron-Spooldateien:
sudo chmod 4774 -R /var/spool/cron
Ergebnis:drwsrwsr-- 5 root crontab 4,0K 2009-12-23 23:01 cron

Die Cron-Dateien in diesen Spool-Verzeichnissen müssen nur READ AND WRITE sein. Sonst laufen sie nicht. sudo chmod 600 /var/spool/cron/crontabs/*

Die Cron-PID-Datei:
sudo chmod 744 /var/run/crond.pid

Ich denke, das sollte es abdecken.

Skerit
quelle
Ich musste auch chmod -R g+s /var/spool/crondas Ergebnis wie gezeigt erzielen.
1

Die Berechtigungen für die CRON-Dateien sind auf den Stamm der Benutzerstammgruppe festgelegt. Sie müssen also root sein, um CRON-Dateien zu ändern oder auszuführen. Alternativ können Sie sich als root anmelden und die Gruppen in etwas anderes ändern, damit Sie sie bearbeiten können.

Verschmieren
quelle
Ja wirklich? Sollte es dann nicht gelöst werden, indem der Gruppenbesitz auf crontab gesetzt wird, zu dem meine Benutzer gehören? (Was auch nicht funktioniert)
Skerit
Nur wenn die Dateien der Crontab-Gruppe gehören, zeigen die von Ihnen veröffentlichten Snippets, dass sie der Root-Gruppe gehören.
Smudge
1

Was für eine Linux-Distribution ist das? Gibt es eine Datei /etc/cron.allow oder /etc/cron.deny? Wenn ja, was sind ihre Inhalte?

Was sind die Berechtigungen für /var/spool/cron/crontabs/skerit

Jeder Benutzer sollte in der Lage sein, seine eigene Crontab zu bearbeiten.

opsguy
quelle
Ich hatte eine Menge Probleme. Die Berechtigungen für die Skerit-Datei in Crontabs waren in der Tat falsch. Aber auch die Erlaubnis der Spool-Verzeichnisse und der ausführbaren Datei von crontab war falsch. Ich habe es jetzt
behoben