Wie kann ich crontab Domain-Benutzern Zugriff gewähren?

430
Simone

Ich arbeite an einem RedHat 7.3-Server und ein Benutzer benötigt Zugriff auf Crontab. Dieser Benutzer ist jedoch ein Domänenbenutzer (z. B. test @ [Domäne]). Der Benutzer wird also nicht in der Datei / etc / passwd angezeigt.

Ich habe bereits versucht, seinen Namen und den vollständigen Namen (mit der Domäne dahinter) in der Datei cron.allow hinzuzufügen.
Das schien nicht zu funktionieren, aber die Erlaubnis wurde verweigert. Ist es sogar möglich, Domänenbenutzern (ohne Rootzugriff) Zugriff auf Crontab zu gewähren? Und wenn ja wie?

0

1 Antwort auf die Frage

0
grawity

Cron verwendet unabhängig vom Kontotyp immer die gleichen Methoden zur Ermittlung des Zugriffs . Eine Prüfung ist die Datei cron.allow, eine andere wird durch PAM geleitet:

  1. Cron ruft PAM auf, um den 'Account'-Stack (Accounting / Authorization) auszuführen /etc/pam.d/crond.
  2. Diese Datei enthält entweder direkt oder indirekt (über include / substack) ein zu Ihrem Domänenclient gehörendes Modul, z. B. pam_ssswenn Sie SSSD verwenden, pam_winbindwenn Sie Samba / Winbindd verwenden oder pam_ldapnslcd verwenden.
  3. pam_sss kontaktiert SSSD, wodurch entschieden wird, ob der Benutzer test@domainauf den crondDienst zugreifen darf . Wie diese Entscheidung getroffen wird, hängt von den Parametern in ab sssd.conf. Wenn Sie beispielsweise einer Active Directory-Domäne beitreten, werden möglicherweise sogar Ihre Gruppenrichtlinien gelesen und die Entscheidung getroffen, ob Windows dem Benutzer die Berechtigung "Stapelanmeldung" erteilt.

    (Ich gehe einfach davon aus, dass es SSSD ist, weil die Benutzername-Syntax lautet und RHEL es erstellt hat.)

Nebenbei bemerkt gibt es keinen Unterschied zwischen lokalen Benutzern und Domänenbenutzern auf technischer Seite. Sogar die ...@domainSyntax ist lediglich ein ausgefallener Benutzername, den SSSD generiert. Es ist nichts Besonderes für den Rest des Systems. Wenn Sie also cron.allow verwenden, müssen Sie es in der Regel einschließen.

Als Randbemerkung zur Randnotiz ist es bei SSSD möglich, einen asymmetrischen Namen zu haben → UID → Namensübersetzung (z. B. test@domain→ 12345 → domain\test). Sie wissen nicht, ob Cron den Benutzernamen wörtlich speichert oder aus der UID rekonstruiert. Deshalb sollten Sie getent passwd <uid>mit der numerischen UID laufen und den resultierenden Benutzernamen in cron.allow angeben, falls er sich vom ursprünglichen Benutzernamen unterscheidet (dh Sie sollten beide Versionen auflisten ).