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:
- Cron ruft PAM auf, um den 'Account'-Stack (Accounting / Authorization) auszuführen
/etc/pam.d/crond
. - Diese Datei enthält entweder direkt oder indirekt (über include / substack) ein zu Ihrem Domänenclient gehörendes Modul, z. B.
pam_sss
wenn Sie SSSD verwenden,pam_winbind
wenn Sie Samba / Winbindd verwenden oderpam_ldap
nslcd verwenden. pam_sss kontaktiert SSSD, wodurch entschieden wird, ob der Benutzer
test@domain
auf dencrond
Dienst zugreifen darf . Wie diese Entscheidung getroffen wird, hängt von den Parametern in absssd.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 ...@domain
Syntax 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 ).