Home       Servicebereich  Projekte  Kontakt  


Syntax der Konfigurationsfiles

Die Konfiguration für den Zugriff auf jeweiligen Datenbank-Backends hängt von der jeweils zu nutzenden Datenbank ab. Im Falle von LDAP z.B. erfolgt die Konfiguration der LDAP Anbindung von PAM und der Namensauflösung je nach Distribution in der Datei /etc/ldap.conf (SuSE) oder in /etc/libnss-ldap.conf (Debian nsswitch) bzw. /etc/pam_ldap.conf (Debian PAM).

Die Konfiguration der einzelnen PAM Module selbst erfolgt durch eine zentrale Konfigurationsdatei für alle Dienste oder mit Hilfe einer einzelnen Konfigurationsdatei für jeden einzelnen Dienst. Als zentrale Konfigurationsdatei ist in der Regel die Datei /etc/pam.conf vorkonfiguriert. Einzelne Konfigurationsdateien werden typischerweise im Verzeichnis /etc/pamd.d abgelegt.

Die Konfigurationsdateien sind ähnlich aufgebaut. Die Konfiguration in /etc/pam.conf erfolgt zeilenweise, wobei jede Zeile mit der Bezeichnung des Dienstes begonnen wird.

    service_name module-type control-flag module-path arguments

Bei der verzeichnisbasierten Konfiguration wird für jeden Service eine Datei angelegt. Hier entfällt der service-name, der durch den Dateinamen dargestellt wird. Der Aufbau der Zeilen ist hier

    module-type control-flag module-path arguments

Eine fehlerhafte Konfiguration des PAM Systems bewirkt, daß der Zugriff in jedem Fall fehlschlägt.

Beschreibung der Parameter

module-type

Der module-type ist einer der oben beschriebenen Modultypen und legt das Modul für den jeweiligen Aufgabenbereich fest.

control-flag

Die einzelnen Module kennen liefern einen Booleschen Wert je nach Erfolg oder Mißerfolg zurück. Mit Hilfe des control-flags kann das Verhalten des Moduls eingestellt werden. Linux-PAM kann mittels zweier unterschiedlicher Syntax Schemata konfiguriert werden. Die ältere Syntax basiert auf Keywords, die neuere auf value=action Paaren.

Beschreibung der Keyword Syntax

Bei der Keyword Syntax kann das Verhalten des Moduls mit vier unterschiedlichen Keywords eingestellt werden.

module-path

Der module-path gibt den Modulnamen oder den absoluten Pfad zum jeweiligen Modul an. Ein relativer Pfad gibt den Pfad relativ zum Verzeichnis /lib/security (Debian) oder /usr/lib/security an.

arguments

Die Werte, die unter arguments eingestellt werden, werden beim Aufruf an das Modul übergeben. Neben den für das einzelne Modul spezifischen Argumenten sollte jedes Modul die folgenden optionalen Argumente auswerten.

Default Policy

Jede (PAM-) Applikation sucht die PAM-Konfiguration in /etc/pam.conf mit dem passenden service-name oder im Verzeichnis /etc/pam.d nach dem entsprechenden File. Wenn die entsprechende Konfiguration für den einzelnen Service nicht gefunden wird, wird versucht eine Konfiguration der Sektion other oder eine Datei other im Verzeichnis pam.d zu finden. Aus Sicherheitsgründen sollte die Konfiguration hier sehr restriktiv sein.

       #
       # /etc/pam.d/other
       #
       auth      required   pam_deny.so
       auth      required   pam_warn.so
       account   required   pam_deny.so
       account   required   pam_warn.so
       password  required   pam_deny.so
       password  required   pam_warn.so
       session   required   pam_deny.so
       session   required   pam_warn.so
Mit dieser Konfiguration schlägt jeder Versuch das PAM System zu nutzen fehl pam_deny.so und wird zusätzlich mitgeloggt pam_warn.so.

Die Defaultkonfiguration kann natürlich auch dazu genutzt werden, alle nicht explizit zu konfigurierenden Dienste gegen die System-Passwortdatenbank zu authentisieren.


< zurück