Pam Konzepte: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 37: | Zeile 37: | ||
==optional== | ==optional== | ||
*Das Ergebnis dieses Moduls findet keine Beachtung. (Es sei denn es ist das einzige für einen Typ) | *Das Ergebnis dieses Moduls findet keine Beachtung. (Es sei denn es ist das einzige für einen Typ) | ||
| + | =Alternativ zu den »traditionellen« Schlüsselwörtern= | ||
| + | *Sie können auch eine weitaus differenziertere Methode verwenden. | ||
| + | *Diese gestattet, genau festzulegen, wie PAM mit den verschiedenen Rückgabewerten von Modulen umgehen soll. | ||
| + | *Dabei hat der Eintrag in der zweiten Spalte die Form | ||
| + | {| class="wikitable" | ||
| + | |- | ||
| + | ! style="text-decoration:underline;" | | ||
| + | ! | ||
| + | |- | ||
| + | |Traditionell | Modern | ||
| + | |- | ||
| + | |required| [success=ok new_authtok_reqd=ok ignore=ignore default=bad] | ||
| + | |- | ||
| + | |requisite| [success=ok new_authtok_reqd=ok ignore=ignore default=die] | ||
| + | |- | ||
| + | |sufficient| [success=done new_authtok_reqd=done default=ignore] | ||
| + | |- | ||
| + | |optional| [success=ok new_authtok_reqd=ok default=ignore] | ||
| + | |} | ||
| + | |||
| + | |||
| + | required [success=ok new_authtok_reqd=ok ignore=ignore default=bad] | ||
| + | requisite [success=ok new_authtok_reqd=ok ignore=ignore default=die] | ||
| + | sufficient [success=done new_authtok_reqd=done default=ignore] | ||
| + | optional [success=ok new_authtok_reqd=ok default=ignore] | ||
Version vom 11. Januar 2023, 14:22 Uhr
Modultype
- Die verschiedenen Funktionen, die PAM ausführt, sind in vier Gruppen einteilen.
- Jedes PAM-Modul ist mindestens einer dieser Gruppen zuzuordnen,
- Wobei viele Module in mehreren der Gruppen Funktionen erbringen.
account
- Überprüfen ob der Benutzer berechtigt ist den angefragten Dienst zu benutzen. ("Gibt es diesen Benutzer im System und darf er sich anmelden?")
- Steht der angestrebte Benutzerkonto für eine Authentisierung zur Verfügung?.
- Dies kann von Kriterien abhängen.
- Die Möglichkeiten sind vielfälltig
auth
- Benutzeridentifizierung und -authentifizierung. z.B. Passwortabfrage oder Smartcards. ("Zeig mir deinen Ausweis!")
- Die Identität des Benutzers wird hier geprüft.
- Dazu können sie zum Beispiel ein geheimes Kennwort erfragen
- Dies wird dann gegen eine Benutzerdatenbank gecheckt.
- LDAP, Datenbank, lokaler Account usw.
- Die Mechanismen wie gecheckt wird sind genauso vielfältig.
- Biometrisch, OTP, Password.
- Hier kann man aber auch über /etc/group User besonderen Gruppen zuweisen.
password
- Es kann hier unabhängig von dem dahinterliegenden Auth Dienst das Passwort geändert werden.
- Also egal ob das Passwort dann in einer LDAP oder SQL Datenbank oder sonst wo liegt.
- Des weiteren kann man die Passwortsicherheit hier sehr feingranuliert einstellen.
session
- Verwaltung und Konfiguration der Benutzer Sitzung. Limits, Berechtigungen ... während des Zugriffs.
- Die Module werden vor und nach der Authentifizierung gestartet um etwas zu protokolieren und dem Benutzer seine eigene Umgebung zuzuweisen.
- (z.B. Homeverzeichnis)
Modulsteuerung
requisite
- Modul muss mit Erfolg enden. Bei Fehler werden keine weiteren Module abgearbeitet. (notwendige Vorbedingung)
required
- Modul muss mit Erfolg enden. Bei Fehler werden weitere Module abgearbeitet. (notwendige Bedingung)
sufficient
- Wenn das Modul erfolgreich endet, reicht das für den Erfolg der Kette.
- Keine weiteren Module werden abgearbeitet. (hinreichende Bedingung)
optional
- Das Ergebnis dieses Moduls findet keine Beachtung. (Es sei denn es ist das einzige für einen Typ)
Alternativ zu den »traditionellen« Schlüsselwörtern
- Sie können auch eine weitaus differenziertere Methode verwenden.
- Diese gestattet, genau festzulegen, wie PAM mit den verschiedenen Rückgabewerten von Modulen umgehen soll.
- Dabei hat der Eintrag in der zweiten Spalte die Form
| Modern | |
| [success=ok new_authtok_reqd=ok ignore=ignore default=bad] | |
| [success=ok new_authtok_reqd=ok ignore=ignore default=die] | |
| [success=done new_authtok_reqd=done default=ignore] | |
| [success=ok new_authtok_reqd=ok default=ignore] |
required [success=ok new_authtok_reqd=ok ignore=ignore default=bad]
requisite [success=ok new_authtok_reqd=ok ignore=ignore default=die]
sufficient [success=done new_authtok_reqd=done default=ignore]
optional [success=ok new_authtok_reqd=ok default=ignore]