linux:pam

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
linux:pam [2007/09/12 22:09] – angelegt stlinux:pam [2009/09/25 17:44] (aktuell) st
Zeile 1: Zeile 1:
 +====== PAM (Pluggable Authentication Modules) ======
 +[[wpde>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: [[wpde>Pluggable Authentication Modules|Wikipedia zum PAM]].
 +
 +===== Links =====
 +  * [[http://www.selflinux.org/selflinux/html/grundlagen_sicherheit05.html|Authentisierung, Autorisierung und Zugriffssteuerung mit PAM]]
 +  * [[http://www.kernel.org/pub/linux/libs/pam/|Linux-PAM]]
 +  * [[http://www.onlamp.com/pub/a/bsd/2003/02/20/FreeBSD_Basics.html|PAM (FreeBSD)]]
 +
 +
 +===== 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:
 +<file>
 +Benutzer1
 +Passwort1
 +Benutzer2
 +Passwort2
 +</file>
 +
 +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:Debian]] Etch: <code>aptitude install db4.4-util</code>
 +  * [[debian:Debian]] Lenny + [[ubuntu:Ubuntu]] 9.04 ("jaunty"): <code>aptitude install db4.6-utils</code>
 +
 +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:
 +<file>
 +auth required /lib/security/pam_userdb.so db=/etc/logins
 +account required /lib/security/pam_userdb.so db=/etc/logins
 +</file>
 +:!: 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.).