Cron-Jobs für einen bestimmten Benutzer deaktivieren

Cron-Jobs für einen bestimmten Benutzer deaktivieren

Ich habe in den Crontabs eine Liste von Jobs für user1, user2. Ich möchte verhindern, dass die Jobs user2von ausgeführt werden.

Ich habe versucht, user2in aufzulisten cron.deny, aber das hindert ihn nur daran, auf seine zuzugreifen crontab. Die in aufgelisteten Jobs user2werden crontabtrotzdem 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, deadoder Ä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 user2zur 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.denyund seine Crontab umbenennen:

mv -vi /var/spool/cron/crontabs/user2.disabled /var/spool/cron/crontabs/user2

Antwort3

Löschen /var/spool/cron/user1oder user2? und Sie möchten auch diese Benutzernamen hinzufügen, /etc/cron.denysonst 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.

verwandte Informationen