Wie kann ich mehreren Benutzern den Zugriff auf dieselbe Crontab in Debian Linux v8.4 erlauben?

1242
Michael

Ich versuche, eine Crontab für eine Gruppe von Benutzern zu erstellen, nennen wir die Gruppe "testGroup". Es gibt 3 Benutzer, und ich möchte allen Zugriff auf dieselbe Crontab gewähren. Ich recherchierte und versuchte, jeden einzelnen Benutzer zur Crontab-Gruppe in der Datei / etc / group hinzuzufügen. Dies funktionierte jedoch nicht, da für jeden Benutzer noch 3 separate Crontabs vorhanden sind. Kann man das beheben? Wenn ja, wie würde ich das tun?

Vielen Dank

1

1 Antwort auf die Frage

1
kostix

Hintergrund

Nein, cronfunktioniert nicht so, wie Sie annehmen.

Der cronDaemon 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, crondie es Ihnen ermöglicht, das zu tun, was Sie benötigen. Um die cron(8)Handbuchseite zu zitieren :

cronLiest in Debian außerdem die Dateien im /etc/cron.d Verzeichnis. cron behandelt die Dateien auf /etc/cron.ddieselbe Weise wie die /etc/crontabDatei (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:

  1. Erstellen Sie eine dedizierte Gruppe für Ihre Benutzergruppe. Nehmen wir an, es ist "mycrontab".

  2. Fügen Sie Ihrer Gruppe drei Benutzer hinzu.

  3. Erstellen Sie eine Datei unter /etc/cron.dund machen es durch Besitz sein root:mycrontab und hat Bits Erlaubnis gesetzt 0660oder rw-rw-r--, das heißt, Lese- / Schreibzugriff auf die Benutzer rootund Gruppen mycrontabund Lesezugriff auf alle anderen.

  4. 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 MAILTOUmgebungsvariable, die befolgt wird, zuerst cronauf 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 cronauf Ihrem System generiert wurden, und verwenden Sie den Wert dieses Alias ​​für die MAILTOVariable.

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 crontabGruppe!