
Ich habe in den Crontabs eine Liste von Jobs für user1
, user2
. Ich möchte verhindern, dass die Jobs user2
von ausgeführt werden.
Ich habe versucht, user2
in aufzulisten cron.deny
, aber das hindert ihn nur daran, auf seine zuzugreifen crontab
. Die in aufgelisteten Jobs user2
werden crontab
trotzdem ausgeführt.
Wie deaktiviere ich Cron-Jobs für einen bestimmten Benutzer?
Antwort1
Rohe Gewalt!
crontab -u fred -e
%s/^/#/
:wq
Es gibt wahrscheinlich eine elegantere Möglichkeit, aber wenn Sie das nicht ständig tun, verwenden Sie den Hammer, den Sie haben.
Antwort2
Der einfachste Weg, die Crontab für einen bestimmten Benutzer zu deaktivieren, besteht darin, seinencrontabund benennen Sie es um. Die Debian-Manpage fürcronsagt:
cron searches its spool area (/var/spool/cron/crontabs) for crontab
files (which are named after accounts in /etc/passwd); crontabs found
are loaded into memory.
Benennen Sie die Datei also einfach in etwas um, das nicht im Passwort enthalten ist, normalerweise indem Sie ihr ein Suffix wie disabled
, offline
, dead
oder Ähnliches geben.
mv -vi /var/spool/cron/crontabs/user2 /var/spool/cron/crontabs/user2.disabled
Unter Debian (und verwandten Systemen wie Ubuntu) erzeugt dies den folgenden Eintrag in /var/log/syslog
:
(user2.disabled) ORPHAN (no passwd entry)
Achten Sie darauf, auch etwas user2
zur Datei hinzuzufügen /etc/cron.deny
, sonst kann der Benutzer selbst eine neue Crontab erstellen.
Aktivieren Sie die Crontab des Benutzers erneut, indem Sie den Eintrag löschen /etc/cron.deny
und seine Crontab umbenennen:
mv -vi /var/spool/cron/crontabs/user2.disabled /var/spool/cron/crontabs/user2
Antwort3
Löschen /var/spool/cron/user1
oder user2
? und Sie möchten auch diese Benutzernamen hinzufügen, /etc/cron.deny
sonst können sie diese Cron-Jobs wieder hinzufügen
Antwort4
Wenn Sie den Crontab-Job für einen bestimmten Benutzer blockieren möchten, stellen Sie sicher, dass Sie als Root-Benutzer angemeldet sind, da der Root-Benutzer nur auf Crontab-Dateien zugreifen kann. 1. Gehen Sie dann zum Verzeichnis /etc/cron.d. In diesem Verzeichnis sehen Sie die Datei cron.deny. Geben Sie mithilfe des vi-Editors oder anderweitig den bestimmten Benutzernamen ein, den der Benutzer blockieren möchte.