GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Pam – Erforderliches und ausreichendes Kontrollflag?

Ich studiere PAM und bin etwas ahnungslos über die Bedeutung einer Kombination von Steuerflags. Aus der Red Hat Dokumentation haben wir:

  • Der erforderliche
    Ausfall eines solchen PAM führt letztendlich dazu, dass die PAM-API einen Fehler zurückgibt,
    aber erst, nachdem die verbleibenden gestapelten Module (für diesen Dienst und Typ)
    aufgerufen wurden

  • erforderlich
    wie erforderlich, aber falls ein solches Modul einen Fehler zurückgibt,
    wird die Kontrolle direkt an die Anwendung zurückgegeben.

  • Ein ausreichender
    Erfolg eines solchen Moduls reicht aus, um die Authentifizierungsanforderungen
    des Modulstapels zu erfüllen (wenn ein vorheriges erforderliches Modul fehlgeschlagen ist
    , wird der Erfolg dieses Moduls ignoriert). Ein Ausfall dieses Moduls wird
    nicht als schwerwiegend angesehen, um die Anwendung zufrieden zu stellen, dass dieser Typ erfolgreich war. Wenn das
    Modul erfolgreich ist, gibt das PAM-Framework den Erfolg sofort
    an die Anwendung zurück, ohne andere Module auszuprobieren.

Also, nach meinem Verständnis, wenn ein Modul requisite fehlschlägt, wird der gesamte Stapel von Modulen nicht geparst, und die Kontrolle geht sofort zurück an die Anwendung.
Wenn ein Modul sufficient erfolgreich ist, wird der Rest des Modulstapels nicht geparst und die Kontrolle geht sofort zurück an die Anwendung.
Wenn ein Modul required ist fehlschlägt, wird der gesamte Stapel geparst.

Jetzt kann ich nicht verstehen, was das Verhalten sein wird, wenn ein bestimmtes Modul required ist schlägt fehl und ein weiteres Modul ist sufficient gelingt.

Akzeptierte Antwort:

PAM durchläuft die Elemente auf dem Stapel der Reihe nach. Es erinnert sich nur daran, in welchem ​​Zustand es sich befindet (erfolgreich oder verweigert, wobei Erfolg bisher Erfolg bedeutet), nicht daran, wie es diesen Zustand erreicht hat.

Wenn ein Artikel mit sufficient gekennzeichnet ist erfolgreich ist, stoppt die PAM-Bibliothek die Verarbeitung dieses Stacks. Dies geschieht unabhängig davon, ob vorher required war Artikel oder nicht. An diesem Punkt gibt PAM den aktuellen Status zurück:Erfolg, wenn kein vorheriger required Element fehlgeschlagen, andernfalls verweigert.

Ebenso, wenn ein Artikel mit required gekennzeichnet ist fehlschlägt, stoppt die PAM-Bibliothek die Verarbeitung und gibt einen Fehler zurück. Dabei ist es unerheblich, ob ein vorheriger required ist Element fehlgeschlagen.

Mit anderen Worten, required führt nicht unbedingt dazu, dass der gesamte Stack verarbeitet wird. Es bedeutet nur, weiterzumachen.

Verwandte:Frame-by-Frame-Steuerung eines YouTube-Videos?
Linux
  1. Verwenden Sie Setxkbmap, um die linke Verschiebung und die linke Steuerung zu tauschen?

  2. Kommunikation zwischen Pam und Pam-aware Daemon verstehen?

  3. Der Unterschied zwischen Nss und Pam?

  4. Beziehungen zwischen Steuerzeichen, Signalen und Terminal?

  5. kvm:Modulüberprüfung fehlgeschlagen:Signatur und/oder erforderlicher Schlüssel fehlen - verdorbener Kernel

Kontrollieren Sie die Uhrzeit und das Datum Ihres Computers mit systemd

Bash-it – Bash-Framework zur Kontrolle Ihrer Skripte und Aliase

So laden und entladen Sie Kernel-Module in Linux

CPU Power Manager – Steuerung und Verwaltung der CPU-Frequenz unter Linux

Steuern Sie die RAM- und CPU-Nutzung durch Kodi in Echtzeit

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