PAM (Pluggable Authentication Modules)
Pluggable Authentication Modules (PAM) sind eine Softwarebibliothek, die eine allgemeine Programmierschnittstelle (API) für Authentisierungsdienste zur Verfügung stellt. PAM wurde 1995 von Vipin Samar und Charlie Lai bei Sun Microsystems entwickelt und seitdem nicht wesentlich verändert.
Quelle: Wikipedia zum PAM.
Links
pam_userdb
Eine simple Authentifizierung gelingt über pam_userdb
, hier wird lediglich eine Textdatei mit Benutzernamen und Passwörtern (abwechselnd in jeweils eigenen Zeilen) benötigt.
Beispiel:
Benutzer1 Passwort1 Benutzer2 Passwort2
Die Textdatei (Dateiname hier im Beispiel: /etc/logins.txt
) muss dann noch per Berkeley-DB utils in eine Datenbank umgewandelt werden:
db_load -T -t hash -f /etc/logins.txt /etc/logins.db
Manchmal heißt db_load auch anders (db3_load, db4.6_load usw.) wenn pam eine spezielle db-Version braucht.
Falls die Berkeley-DB utils noch nicht installiert sind:
- Debian Etch:
aptitude install db4.4-util
Nun wählen wir den Dienst aus, für den diese Authentifizierung gelten soll, im Verzeichnis /etc/pam.d finden wir die nach dem Dienst benannte Dateien.
Beim richtigen Dienst genügen diese 2 Zeilen:
auth required /lib/security/pam_userdb.so db=/etc/logins account required /lib/security/pam_userdb.so db=/etc/logins
Die Dateiendung (.db) weglassen!
Wenn wir Änderungen (neue Benutzer, Passwörtänderungen, …) an der Quelldatei /etc/logins.txt vornehmen, müssen wir erneut die Datenbank erzeugen (s.o.).