Home       Servicebereich  Projekte  Kontakt  


Einführung

Mit Hilfe von PAM (Pluggable Authentication Modules) kann der Administrator einstellen, wie die Authentisierung der User bei einzelnen Applikationen erfolgt. Der Vorteil der Nutzung von PAM liegt darin, daß es auf der Seite der Applikation die Authentisierung von der Benutzerdatenbank abstrahiert. Die Applikation muß die Anmeldeprozedur nur mit Hilfe der PAM Library durchführen und sich nicht um die möglichen Authentisierungssystem kümmern. Wenn eine neue Methode unterstützt werden soll, muß nur das entsprechende PAM Modul vorhanden sein und konfiguriert werden.

Den Vorteil des PAM Systems habe ich zu schätzen gelernt, als ich eine einfache Möglichkeit suchte, die Benutzeraccounts von OpenGroupware und dem Cyrus IMAP Server zentral zu Pflegen. Das Email-Interface von OpenGroupware benötigt benötigt einen IMAP-Server und meldet sich hier per Username und Passwort an. Der Cyrus Server verwendet die per Default (unter Debian) die System-Benutzeraccounts aus /etc/passwd. OpenGroupware dagegen verwaltet die Benutzeraccounts in einer PostgreSQL Relation. Da der Cyrus IMAP Servers PAM unterstüzt, kann das System nach Installation des PAM Moduls für die Authentisierung gegen eine PostgreSQL Datenbank (pam-psql) so konfiguriert werden, daß Benutzernamen und Passwörter der IMAP Benutzer gegen die entsprechende Relation der OpenGroupware Datenbank geprüft werden. (s.a. OGo Users in Cyrus.)

PAM unter Linux ermöglicht das Handling der vier unterschiedlichen Aufgabenbereiche Authentifizierung, Accounts, Session und Passwortverwaltung. Jede dieser Aufgaben kann für eine spezielle Applikation an ein anderes PAM-Modul delegiert werden.

Jede der oben genannten Aufgaben kann von mehreren Modulen wahrgenommen werden. Die Benutzerauthentifizierung kann z.B. zuerst vom LDAP Modul geprüft werden. Wenn der Benutzer hier nicht existiert, wird geprüft ob er in der lokalen Passwort-Datenbank aufgeführt ist. So können z.B. die Root Accounts auf jedem System mit unterschiedlichen Passwörtern versehen werden, während alle anderen Benutzer zentral per LDAP gepflegt werden.

Grundlegender Aufbau

Linux-PAM benötigt für jedes Benutzerdatenbanksystem und jeden Aufgabenbereich ein entsprechendes Modul. Die Konfiguration kann zentral in der Datei /etc/pam.conf oder für jedes Modul individuell im Verzeichnis /etc/pam.d erfolgen.

Bei der verzeichnisbasierten Konfiguration wird für den einzelnen Service ein Konfigurationsfile angelegt in dem beschrieben wird, welches Modul für welchen Aufgabenbereich (Modultyp) dieses Services zuständig ist. Die einzelnen Module können noch ein weiteres Konfigurationsfile benötigen, in dem z.B. eingestellt wird, in welcher Relation und welchen Attributen eines Datenbanksystems die Benutzernamen und Passwörter gespeichert werden.


< zurück  | weiter >