Steuersyntax "success = n" in den Dateien pam.conf / pam.d / *

16

Nach der erfolgreichen Konfiguration von Kerberos habe ich Folgendes in der /etc/pam.d/common-authDatei gefunden:

auth    [success=2 default=ignore]      pam_unix.so nullok_secure
auth    [success=1 default=ignore]      pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so

Bedeutet der success=2Kontrollwert, dass bei einem pam_unix.so Fehlschlag die Authentifizierung in die auth requisite pam_deny.soZeile oder in die letzte Zeile übergeht ?

Jamie
quelle

Antworten:

17

Nach meinem Verständnis success=$numwird angegeben, wie viele Regeln bei Erfolg übersprungen werden sollen. Wenn einer der beiden pam_unix.soVorgänge pam_winbind.soerfolgreich ist, springt PAM zur letzten Zeile. Natürlich erlaubt die letzte Zeile in allen Fällen den Zugriff.

Warner
quelle
Nur um das klar zu stellen; Die Zeilen 1 und 2 springen zu Zeile 4, wenn eine der beiden erfolgreich ist. Macht Sinn.
Jamie
Vielen Dank für die Antworten auf meine anderen PAM-Fragen: Alle meine Fragen waren offen; Ich habe ssh-Anmeldungen auf eine bestimmte Liste von Benutzern beschränkt und dies beim Hinzufügen der Domänenauthentifizierung vergessen. Als ich Kerberos hinzufügte, wurden die PAM-Dateien für die AD-Authentifizierung korrekt geändert.
Jamie
2

pam.d (5) - Linux-Manpage

Für die kompliziertere Syntax haben gültige Steuerwerte die folgende Form:
[value1=action1 value2=action2 ...]
Die Aktion N kann sein: eine vorzeichenlose Ganzzahl n, die eine Aktion von "Sprung über die nächsten n Module im Stapel" bedeutet.

Was der common-auth sagt:

  1. Wenn die lokale UNIX-Authentifizierung erfolgreich ist , überspringen Sie zwei Module zum 4. Modul (Modul 1 + 2 Module zum Springen -> Modul 4). Ignorieren Sie andernfalls das Ergebnis der lokalen Authentifizierung und fahren Sie mit dem nächsten Modul fort.
  2. Wenn winbind (in diesen Tagen durch sssd ersetzt) ​​mit Kerberos-Authentifizierung erfolgreich ist , überspringen Sie ein Modul zu Modul 4. Ignorieren Sie andernfalls das Ergebnis der lokalen Authentifizierung und fahren Sie mit dem nächsten Modul fort.
  3. Verweigern Sie die Authentifizierungsanforderung. Das Ergebnis wird als VERWEIGERT finalisiert und PAM stoppt dort (die für die erforderliche Kontrolle definierte Aktion).
  4. Erlaube alles. Das Ergebnis wird als PERMITTED finalisiert, aber mit dem nächsten Modul fortgefahren (die für die erforderliche Steuerung definierte Aktion). Es ist jedoch kein Modul mehr zum Ausführen vorhanden, sodass es dort endet.
mon
quelle