Hintergrund
Nein, cron
funktioniert nicht so, wie Sie annehmen.
Der cron
Daemon liest seine Crontabs von zwei Orten aus:
- Systemweit
/etc/crontab
; - Benutzer-Crontabs.
Es gibt kein Konzept für Crontabs pro Benutzergruppe.
Lösung
Debian hat eine Anpassung vorgenommen, cron
die es Ihnen ermöglicht, das zu tun, was Sie benötigen. Um die cron(8)
Handbuchseite zu zitieren :
cron
Liest in Debian außerdem die Dateien im/etc/cron.d
Verzeichnis. cron behandelt die Dateien auf/etc/cron.d
dieselbe Weise wie die/etc/crontab
Datei (sie folgen dem speziellen Format dieser Datei, dh sie enthalten das Benutzerfeld). Sie sind jedoch unabhängig von/etc/crontab
: Sie erben beispielsweise keine Einstellungen für Umgebungsvariablen. Diese Änderung ist spezifisch für Debian, siehe den Hinweis unter DEBIAN SPECIFIC .
Daher würde ich folgendes tun:
Erstellen Sie eine dedizierte Gruppe für Ihre Benutzergruppe. Nehmen wir an, es ist "mycrontab".
Fügen Sie Ihrer Gruppe drei Benutzer hinzu.
Erstellen Sie eine Datei unter
/etc/cron.d
und machen es durch Besitz seinroot:mycrontab
und hat Bits Erlaubnis gesetzt0660
oderrw-rw-r--
, das heißt, Lese- / Schreibzugriff auf die Benutzerroot
und Gruppenmycrontab
und Lesezugriff auf alle anderen.Informieren Sie Ihre Benutzer darüber, wo diese Datei zu finden ist, und legen Sie die Regeln für das Format fest (diese können in Form von Kommentaren in die Datei eingefügt werden).
Beachten Sie, dass Sie möglicherweise herausfinden müssen, wie Sie mit dem Senden von E-Mails an alle Benutzer umgehen. Ich würde prüfen, ob es in Ordnung ist, die MAILTO
Umgebungsvariable, die befolgt wird, zuerst cron
auf eine durch Kommas getrennte Liste von E-Mail-Adressen (wie joe@domain.lan,jane@domain.lan,jill@domain.lan
) zu setzen. Andernfalls müssen Sie wahrscheinlich einen E-Mail-Alias entweder in Ihrem lokalen MTA einrichten oder den MTA, der E-Mails empfängt, die cron
auf Ihrem System generiert wurden, und verwenden Sie den Wert dieses Alias für die MAILTO
Variable.
Alles in allem geben Sie bitte mindestens einen flüchtigen Blick auf die cron(8)
und die crontab(5)
Handbuchseiten.
… Und bitte entfernen Sie Ihre Benutzer aus der crontab
Gruppe!