Red Hat Linux 9: Red Hat Linux Referenzhandbuch | ||
---|---|---|
Zurück | Kapitel 14. Pluggable Authentication Modules (PAM) | Vor |
Eine Konfigurationsdatei einer PAM-Anwendung sieht z.B. wie folgt aus:
#%PAM-1.0 auth required /lib/security/pam_securetty.so auth required /lib/security/pam_unix.so shadow nullok auth required /lib/security/pam_nologin.so account required /lib/security/pam_unix.so password required /lib/security/pam_cracklib.so retry=3 password required /lib/security/pam_unix.so shadow nullok use_authtok session required /lib/security/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 /lib/security/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 /lib/security/pam_unix.so shadow nullok |
Dieses Modul fragt den Benutzer nach einem Passwort und überprüft dieses Passwort anhand der in /etc/passwd und, falls vorhanden, in /etc/shadow gespeicherten Informationen. Das Modul pam_unix.so erkennt die in /etc/shadow gespeicherten Shadow-Passwörter und verwendet sie zu Authentifizierung von Benutzern. Im Abschnitt 6.5 finden Sie weitere Informationen über Shadow-Passwörter.
Das Argument nullok weist das Modul pam_unix.so an, ein leeres Passwort zuzulassen.
auth required /lib/security/pam_nologin.so |
Das ist der letzte Schritt der Authentifizierung. Die Zeile prü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 /lib/security/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 /lib/security/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 /lib/security/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 ist use_authtok und 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 sie akzepiert werden.
session required /lib/security/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 /lib/security/pam_nologin.so auth required /lib/security/pam_securetty.so auth required /lib/security/pam_env.so auth sufficient /lib/security/pam_rhosts_auth.so auth required /lib/security/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 /lib/security/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 mehr Informationen zum SSH Protokoll sehen Sie Kapitel 18. |
auth required /lib/security/pam_env.so |
Diese Zeile lädt das Modul pam_env.so, das die in /etc/security/pam_env.conf angegebenen Umgebungsvariablen festlegt.
auth sufficient /lib/security/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 /lib/security/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. |
Zurück | Zum Anfang | Vor |
Format der PAM Konfigurationsdatei | Zum Kapitelanfang | Module erstellen |