16.4. Beispiele f�r PAM-Konfigurationsdateien
Eine Konfigurationsdatei einer PAM-Anwendung sieht z.B. wie folgt aus:
#%PAM-1.0
auth required pam_securetty.so
auth required pam_unix.so shadow nullok
auth required pam_nologin.so
account required pam_unix.so
password required pam_cracklib.so retry=3
password required pam_unix.so shadow nullok use_authtok
session required pam_unix.so |
Die erste Zeile ist ein Kommentar, was durch das Hash-Zeichen (#) am Anfang der Zeile erkenntlich ist.
Die Zeilen zwei bis vier stellen drei Module in den Stack f�r die Authentifizierung bei der Anmeldung.
auth required pam_securetty.so |
Wenn der Benutzer sich als Root anzumelden versucht, stellt dieses Modul sicher, dass das Terminal, an dem er sich anmeldet, in der Datei /etc/securetty aufgef�hrt ist, falls solch eine Datei existiert.
auth required pam_unix.so shadow nullok |
Dieses Modul fragt den Benutzer in einer Prompt nach einem Passwort und �berpr�ft dieses Passwort anhand der Information in /etc/passwd und in /etc/shadow, falls vorhanden.Das Modul pam_unix.so erkennt automatisch gespeicherte Shadow-Passw�rter und verwendet diese zur Authentifizierung von Benutzern. Siehe Abschnitt 6.5 f�r weitere Informationen.
Das Argument nullok weist das Modul pam_unix.so an, ein leeres Passwort zuzulassen.
auth required pam_nologin.so |
Das ist der letzte Schritt der Authentifizierung. Es wird gepr�ft, ob die Datei /etc/nologin existiert. Falls nologin existiert und der Benutzer nicht als Root angemeldet ist, schl�gt die Authentifizierung fehl.
| Anmerkung |
---|
| In diesem Beispiel werden alle drei auth Module �berpr�ft, auch wenn schon beim ersten auth Modul Fehler auftreten. Der Grund daf�r ist: wenn ein Benutzer wei�, weshalb seine Authentifizierung abgelehnt wurde, ist es f�r ihn einfacher, diese zu umgehen. |
account required pam_unix.so |
Dieses Modul �bernimmt jegliche Pr�fung des Benutzeraccounts. Wenn z.B. Shadow-Passw�rter aktiviert worden sind, �berpr�ft das Modul pam_unix.so, ob der Account abgelaufen ist oder ob der Benutzer keine Passwort�nderung vorgenommen hat und die Nachfrist f�r eine �nderung abgelaufen ist.
password required pam_cracklib.so retry=3 |
Ist ein Passwort abgelaufen, fordert die Passwort-Komponente des pam_cracklib.so Moduls zur Eingabe eines neuen Passworts auf. Zus�tzlich wird das neue Passwort getestet, um festzustellen, ob es einfach durch ein W�rterbuch-basiertes Programm zum Erkennen von Passw�rtern erkannt werden kann. Schl�gt der Test einmal fehl, hat der Benutzer aufgrund des Arguments retry=3 zwei weitere M�glichkeiten, ein besseres Passwort zu erstellen.
password required pam_unix.so shadow nullok use_authtok |
Diese Zeile legt fest, dass bei einer �nderung des Benutzer-Passworts durch das Programm die password Komponente des pam_unix.so Moduls verwendet wird. Das passiert nur, wenn der Teil auth des pam_unix.so Moduls bestimmt, dass das Passwort ge�ndert werden muss.
Das Argument shadow teilt dem Modul mit, beim Updaten eines Benutzer-Passworts ein Shadow-Passwort zu erstellen.
Das Argument nullok weist das Modul an, dem Benutzer zu erlauben sein Passwort von einem leeren Passwort zu �ndern. Andernfalls wird ein Null-Passwort als Account-Sperre betrachtet.
Das letzte Argument dieser Zeile use_authtok ist ein gutes Beispiel f�r die Wichtigkeit der Reihenfolge beim Stapeln von PAM-Modulen. Dieses Argument weist das Modul an, den Benutzer nicht zur Eingabe eines neuen Passworts aufzufordern. Stattdessen wird jedes Passwort akzeptiert, das von vorherigen Passwort-Modulen verwendet wurde. Auf diese Weise m�ssen allen neuen Passw�rter den pam_cracklib.so Test f�r sichere Passw�rter durchlaufen, bevor diese akzepiert werden.
session required pam_unix.so |
Die letzte Zeile gibt an, dass das Modul pam_unix.so f�r die Verwaltung der Sitzung verwendet werden soll. Dieses Modul protokolliert bei jedem Start und Ende einer Sitzung den Benutzernamen und den Service-Typ in die Datei /var/log/messages. Wenn Sie weitere Funktionen ben�tigen, kann es durch das Stapeln mit anderen Sitzungsmodulen erg�nzt werden.
Die n�chste Beispielkonfigurationsdatei erl�utert das auth Modulstapeln f�r den rlogin Dienst.
#%PAM-1.0
auth required pam_nologin.so
auth required pam_securetty.so
auth required pam_env.so
auth sufficient pam_rhosts_auth.so
auth required pam_stack.so service=system-auth |
Zun�chst �berpr�ft pam_nologin.so, ob /etc/nologin existiert. Ist dies der Fall, kann sich niemand anmelden, mit Ausnahme des Rootbenutzers.
auth required pam_securetty.so |
Anschlie�end verhindert pam_securetty.so, dass Root-Anmeldungen auf unsicheren Terminals vorgenommen werden k�nnen. Damit werden praktisch alle Root-Anmeldungen �ber rlogin aus Sicherheitsgr�nden verhindert.
| Tipp |
---|
| Um sich als Root von einem Remote-Rechner aus anzumelden, benutzen Sie OpenSSH. F�r weitere Informationen zum SSH Protokoll siehe Kapitel 20. |
Diese Zeile l�dt das Modul pam_env.so, das die in /etc/security/pam_env.conf angegebenen Umgebungsvariablen festlegt.
auth sufficient pam_rhosts_auth.so |
Das pam_rhosts_auth.so Modul authentifiziert den Benutzer unter Verwendung von .rhosts im Hauptverzeichnis des Benutzers. Sollte dies erfolgreich sein, wird PAM die Authentifizierung als erfolgreich ansehen. Sollte pam_rhosts_auth.so fehlschlagen, wird dieser Versuch der Authentifizierung ignoriert.
auth required pam_stack.so service=system-auth |
Wenn die Authentifizierung des Benutzers durch pam_rhosts_auth.so gescheitert ist, f�hrt das pam_stack.so Modul eine normale Passwort-Authentifizierung durch.
Das Argument service=system-auth bedeutet, dass der Benutzer die PAM-Konfiguration zur System- Authentifizierung in /etc/pam.d/system-auth durchlaufen muss.
| Tipp |
---|
| Wenn Sie den Prompt beim Eingeben des Passworts nicht anzeigen m�chten, nachdem die securetty Pr�fung fehlgeschlagen ist, k�nnen Sie das pam_securetty.so Modul von required in requisite �ndern. |