Pam Konzepte: Unterschied zwischen den Versionen
| Zeile 58: | Zeile 58: | ||
| [success=ok new_authtok_reqd=ok default=ignore] | | [success=ok new_authtok_reqd=ok default=ignore] | ||
|} | |} | ||
| + | |||
| + | [wert1 = aktion1 wert_2 = aktion_2 ...] | ||
| + | |||
| + | [success=ok new_authtok_reqd=ok ignore=ignore default=bad] | ||
| + | Die aktion𝑖-Werte können wie folgt sein: | ||
| + | =ignore= | ||
| + | *Der Rückgabewert des Moduls wird ignoriert | ||
| + | =bad= | ||
| + | *Der Rückgabewert wird als Anzeichen dafür angesehen, dass der Authenti- | ||
| + | sierungsvorgang (später) fehlschlagen sollte (dies entspricht vage dem, was | ||
| + | bei required passieren soll – aber siehe unten!). | ||
| + | =die= | ||
| + | *Entspricht bad, aber liefert den Fehler sofort an das aufrufende Programm zu- | ||
| + | rück (denken Sie an requisite). | ||
| + | =ok= | ||
| + | *Gibt an, dass dieser Rückgabewert zum Rückgabewert des gesamten Authen- | ||
| + | tisierungsvorgangs beitragen sollte. Das heißt, wenn bis hierher Erfolg zu- | ||
| + | rückgemeldet werden würde, dann überschreibt dieser Rückgabewert das, | ||
| + | aber wenn bis hierher ein Fehlschlag zurückgemeldet werden würde, wird | ||
| + | er ignoriert. | ||
| + | =done= | ||
| + | Entspricht ok, aber liefert den Erfolg (oder früheren Fehlschlag) sofort an das | ||
| + | aufrufende Programm zurück (denken Sie an sufficient). | ||
| + | 𝑛 (eine positive ganze Zahl) Entspricht ok, aber überspringt die folgenden 𝑛 Kon- | ||
| + | figurationszeilen. (𝑛 = 0 ist verboten.) | ||
| + | =reset= | ||
| + | Alles Bisherige soll vergessen und mit der nächsten Zeile von vorne weiter- | ||
| + | gemacht werden. | ||
| + | Tabelle 2.1 zeigt die Korrespondenz zwischen den »traditionellen« Schlüssel- | ||
| + | wörtern und ihren »modernen« Äquivalenten. Sie können ungeniert weiter die | ||
| + | Schlüsselwörter verwenden; sie werden nicht verschwinden. | ||
| + | In der dritten Spalte steht ein Modulname – entweder als absoluter Pfad oder | ||
| + | als Dateiname relativ zu /lib/security – gefolgt von allfälligen (modulspezifischen) | ||
| + | Argumenten. (Bei include und substack enthält die dritte Spalte den Namen – ab- | ||
| + | solut oder relativ zu /etc/pam.d – der einzulesenden Datei.) | ||
| + | B Grundsätzlich können Sie auch die komplette PAM-Konfiguration Ihres | ||
| + | Systems in der Datei /etc/pam.conf ablegen – Sie müssen dann nur den Na- | ||
| + | men des Programms an den Zeilenanfang stellen: Die Zeile | ||
| + | login auth required pam_unix.so shadow nullok | ||
| + | entspricht der Zeile | ||
| + | |||
| + | |||
| + | |||
| + | Die aktion𝑖-Werte können wie folgt sein: | ||
| + | ignore Der Rückgabewert des Moduls wird ignoriert | ||
| + | bad Der Rückgabewert wird als Anzeichen dafür angesehen, dass der Authenti- | ||
| + | sierungsvorgang (später) fehlschlagen sollte (dies entspricht vage dem, was | ||
| + | bei required passieren soll – aber siehe unten!). | ||
| + | die Entspricht bad, aber liefert den Fehler sofort an das aufrufende Programm zu- | ||
| + | rück (denken Sie an requisite). | ||
| + | ok Gibt an, dass dieser Rückgabewert zum Rückgabewert des gesamten Authen- | ||
| + | tisierungsvorgangs beitragen sollte. Das heißt, wenn bis hierher Erfolg zu- | ||
| + | rückgemeldet werden würde, dann überschreibt dieser Rückgabewert das, | ||
| + | aber wenn bis hierher ein Fehlschlag zurückgemeldet werden würde, wird | ||
| + | er ignoriert. | ||
| + | done Entspricht ok, aber liefert den Erfolg (oder früheren Fehlschlag) sofort an das | ||
| + | aufrufende Programm zurück (denken Sie an sufficient). | ||
| + | 𝑛 (eine positive ganze Zahl) Entspricht ok, aber überspringt die folgenden 𝑛 Kon- | ||
| + | figurationszeilen. (𝑛 = 0 ist verboten.) | ||
| + | reset Alles Bisherige soll vergessen und mit der nächsten Zeile von vorne weiter- | ||
| + | gemacht werden. | ||
| + | Tabelle 2.1 zeigt die Korrespondenz zwischen den »traditionellen« Schlüssel- | ||
| + | wörtern und ihren »modernen« Äquivalenten. Sie können ungeniert weiter die | ||
| + | Schlüsselwörter verwenden; sie werden nicht verschwinden. | ||
| + | In der dritten Spalte steht ein Modulname – entweder als absoluter Pfad oder | ||
| + | als Dateiname relativ zu /lib/security – gefolgt von allfälligen (modulspezifischen) | ||
| + | Argumenten. (Bei include und substack enthält die dritte Spalte den Namen – ab- | ||
| + | solut oder relativ zu /etc/pam.d – der einzulesenden Datei.) | ||
| + | B Grundsätzlich können Sie auch die komplette PAM-Konfiguration Ihres | ||
| + | Systems in der Datei /etc/pam.conf ablegen – Sie müssen dann nur den Na- | ||
| + | men des Programms an den Zeilenanfang stellen: Die Zeile | ||
| + | login auth required pam_unix.so shadow nullok | ||
| + | entspricht der Zeile | ||
Version vom 11. Januar 2023, 14:29 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
| 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] |
[wert1 = aktion1 wert_2 = aktion_2 ...]
[success=ok new_authtok_reqd=ok ignore=ignore default=bad]
Die aktion𝑖-Werte können wie folgt sein:
ignore
- Der Rückgabewert des Moduls wird ignoriert
bad
- Der Rückgabewert wird als Anzeichen dafür angesehen, dass der Authenti-
sierungsvorgang (später) fehlschlagen sollte (dies entspricht vage dem, was bei required passieren soll – aber siehe unten!).
die
- Entspricht bad, aber liefert den Fehler sofort an das aufrufende Programm zu-
rück (denken Sie an requisite).
ok
- Gibt an, dass dieser Rückgabewert zum Rückgabewert des gesamten Authen-
tisierungsvorgangs beitragen sollte. Das heißt, wenn bis hierher Erfolg zu- rückgemeldet werden würde, dann überschreibt dieser Rückgabewert das, aber wenn bis hierher ein Fehlschlag zurückgemeldet werden würde, wird er ignoriert.
done
Entspricht ok, aber liefert den Erfolg (oder früheren Fehlschlag) sofort an das
aufrufende Programm zurück (denken Sie an sufficient). 𝑛 (eine positive ganze Zahl) Entspricht ok, aber überspringt die folgenden 𝑛 Kon- figurationszeilen. (𝑛 = 0 ist verboten.)
reset
Alles Bisherige soll vergessen und mit der nächsten Zeile von vorne weiter-
gemacht werden. Tabelle 2.1 zeigt die Korrespondenz zwischen den »traditionellen« Schlüssel- wörtern und ihren »modernen« Äquivalenten. Sie können ungeniert weiter die Schlüsselwörter verwenden; sie werden nicht verschwinden. In der dritten Spalte steht ein Modulname – entweder als absoluter Pfad oder als Dateiname relativ zu /lib/security – gefolgt von allfälligen (modulspezifischen) Argumenten. (Bei include und substack enthält die dritte Spalte den Namen – ab- solut oder relativ zu /etc/pam.d – der einzulesenden Datei.) B Grundsätzlich können Sie auch die komplette PAM-Konfiguration Ihres Systems in der Datei /etc/pam.conf ablegen – Sie müssen dann nur den Na- men des Programms an den Zeilenanfang stellen: Die Zeile login auth required pam_unix.so shadow nullok entspricht der Zeile
Die aktion𝑖-Werte können wie folgt sein: ignore Der Rückgabewert des Moduls wird ignoriert bad Der Rückgabewert wird als Anzeichen dafür angesehen, dass der Authenti- sierungsvorgang (später) fehlschlagen sollte (dies entspricht vage dem, was bei required passieren soll – aber siehe unten!). die Entspricht bad, aber liefert den Fehler sofort an das aufrufende Programm zu- rück (denken Sie an requisite). ok Gibt an, dass dieser Rückgabewert zum Rückgabewert des gesamten Authen- tisierungsvorgangs beitragen sollte. Das heißt, wenn bis hierher Erfolg zu- rückgemeldet werden würde, dann überschreibt dieser Rückgabewert das, aber wenn bis hierher ein Fehlschlag zurückgemeldet werden würde, wird er ignoriert. done Entspricht ok, aber liefert den Erfolg (oder früheren Fehlschlag) sofort an das aufrufende Programm zurück (denken Sie an sufficient). 𝑛 (eine positive ganze Zahl) Entspricht ok, aber überspringt die folgenden 𝑛 Kon- figurationszeilen. (𝑛 = 0 ist verboten.) reset Alles Bisherige soll vergessen und mit der nächsten Zeile von vorne weiter- gemacht werden. Tabelle 2.1 zeigt die Korrespondenz zwischen den »traditionellen« Schlüssel- wörtern und ihren »modernen« Äquivalenten. Sie können ungeniert weiter die Schlüsselwörter verwenden; sie werden nicht verschwinden. In der dritten Spalte steht ein Modulname – entweder als absoluter Pfad oder als Dateiname relativ zu /lib/security – gefolgt von allfälligen (modulspezifischen) Argumenten. (Bei include und substack enthält die dritte Spalte den Namen – ab- solut oder relativ zu /etc/pam.d – der einzulesenden Datei.) B Grundsätzlich können Sie auch die komplette PAM-Konfiguration Ihres Systems in der Datei /etc/pam.conf ablegen – Sie müssen dann nur den Na- men des Programms an den Zeilenanfang stellen: Die Zeile login auth required pam_unix.so shadow nullok entspricht der Zeile