Ich lerne PAM und bin etwas ratlos über die Bedeutung einer Kombination von Kontroll-Flags. Aus der Red Hat-Dokumentation haben wir:
Der erforderliche
Ausfall eines solchen PAM führt letztendlich dazu, dass die PAM-API nicht mehr ausgeführt wird, sondern erst, nachdem die verbleibenden gestapelten Module (für diesen Dienst und Typ) aufgerufen wurdenErforderlich
wie erforderlich. Wenn jedoch ein solches Modul einen Fehler zurückgibt, wird die Steuerung direkt an die Anwendung zurückgegeben.Ein ausreichender
Erfolg eines solchen Moduls reicht aus, um die Authentifizierungsanforderungen des Modulstapels zu erfüllen (wenn ein zuvor erforderliches Modul ausgefallen ist, wird der Erfolg dieses Moduls ignoriert). Ein Ausfall dieses Moduls gilt nicht als schwerwiegend für die erfolgreiche Anwendung dieses Typs. Wenn das Modul erfolgreich ist, gibt das PAM-Framework den Erfolg sofort an die Anwendung zurück, ohne andere Module auszuprobieren.
Wenn also nach meinem Verständnis ein Modul requisiteausfällt, wird nicht der gesamte Modulstapel analysiert, und die Steuerung kehrt sofort zur Anwendung zurück. Wenn ein Modul sufficienterfolgreich ist, wird der Rest des Modulstapels nicht analysiert und das Steuerelement kehrt sofort zur Anwendung zurück. Wenn ein Modul requiredausfällt, wird der gesamte Stapel analysiert.
Jetzt kann ich nicht verstehen, wie es sich verhält, wenn ein bestimmtes Modul requiredausfällt und ein anderes Modul sufficienterfolgreich ist.
requiredElement fehlgeschlagen ist, warum mussPAMder Stapel dann weiter durchlaufen werden? ob es doch endlich scheitern wird?