1. PAM

PAM steht für Pluggable Authentication Modules und ist eine ziemlich geniale Sache. PAM bietet eine Infrastruktur, die es Programmen ermöglicht, Benutzer über konfigurierbare Module zu authentifizieren. Neben der reinen Authentifizierung ist ein ganzes Sessionmanagement möglich.

Homepage:

Es existieren Module zur Authentifizierung mittels Samba, LDAP, diversen SQL-Datenbanken, Unix-System-Accounts, Kerberos, Smartcards ...

Unter http://rootfiles.net/pam-linuxtag-de.pdf (Broken Link, 08.08.2003) gibt's die Unterlagen zum PAM-Vortrag vom LinuxTag2002.

Unter http://www.jochen.org/~jochen/vortraege/pam.zip findet man ebenfalls die Unterlagen vom LinuxTag2002 aber als html.

Im LinuxMagazin 2004/05 war ein Artikel zu PAM.

Etwas in English: http://www.linuxdevcenter.com/pub/a/linux/2001/09/27/pamintro.html

Inhalt

1.1. Begriffe

# PAM konfigurations file fuer den Shadow `login' service
# von skolelinux rc2. Kommentare entfernt.
#
# Modultype  Modulsteuerung Modulpfad              Argumente
#
auth         requisite      pam_securetty.so
auth         requisite      pam_nologin.so
auth         required       pam_env.so
auth         sufficient     pam_unix.so            nullok
auth         required       pam_ldap.so            use_first_pass

account      sufficient     pam_unix.so
account      required       pam_ldap.so

session      required       pam_unix.so
session      optional       pam_lastlog.so
session      optional       pam_motd.so

password     required       pam_unix.so nullok obscure min=4 max=8 md5

Offene Frage: Was bedeuten die Begriffe in den PAM Dateien genau für PAM?

Modultyp

Modulsteuerung

ToDo: Beispiele

1.2. Module und Tipps & Tricks

Offene Frage: Verfügbare Module? Gibt es eine Liste in jedem System? Und eine Globale im WWW?

1.2.1. pam_console

Ein sehr praktisches Modul ist pam_console. Damit lassen sich für den lokal angemeldeten Benutzer DateiRechte für Devices und Ausführungsrechte für Programme festlegen. Es folgt ein Beispiel für cdrecord. Leider wird dieses Modul derzeit wohl nur bei RedHat und Mandrake benutzt. Nach Ansicht der PAM-Entwickler ist dieses Modul (das von RedHat entwickelt wurde) höchst bedenklich bezüglich der Sicherheit. Hat dazu jemand genauere Informationen?

/etc/pam.d/cdrecord anlegen:

auth       sufficient   /lib/security/pam_rootok.so
auth       required     /lib/security/pam_console.so
account    required     /lib/security/pam_permit.so

touch /etc/security/console.apps/cdrecord
mv /usr/bin/cdrecord /usr/sbin/cdrecord
ln -s consolehelper /usr/bin/cdrecord

1.2.2. pam_mount

http://www.flyn.org/projects/pam_mount/index.html

Damit kann man beim Anmelden automatisch DateiSysteme mounten, für die man ein Passwort benötigt (z.B. SMB oder Crypto-Loop)

1.2.3. PyPAM

http://www.pangalactic.org/PyPAM/ ein Python-Modul für PAM

1.2.4. pam_ldap

Anleitungungen:

siehe auch RFC 3062

1.2.5. pam_mysql

http://pam-mysql.sourceforge.net/

Ermöglicht die Authentifizierung gegen eine MySQL-Datenbank (ähnlich pam_ldap für LDAP).

1.2.6. pam_usb

http://www.pamusb.org/

pam_usb is a PAM module that enables authentication using an USB-Storage device (such as an USB Pen) through DSA private/public keys.

1.2.7. pam_smb

http://www.csn.ul.ie/~airlied/pam_smb/

pam_smb is a PAM module/server which allows authentication of UNIX users using an NT server.

1.2.8. pam_dotfile

http://www.stud.uni-hamburg.de/users/lennart/projects/pam_dotfile/

pam_dotfile is a PAM module which allows users to have more than one password for a single account, each for a different service.

1.2.9. pam_ssh

http://pam-ssh.sourceforge.net/

pam_ssh provides single sign-on behavior for SSH. The user types an SSH passphrase when logging in (probably to GDM, KDM, or XDM) and is authenticated if the passphrase successfully decrypts the user's SSH private key.

1.2.10. pam_krb5

http://www.fcusack.com/

PAM module for MIT Kerberos V

2. Fragen

Frage: Woran kann ich sehen ob Application oder System Pam benutzen oder benutzen können. z.B. Das Kommando passwd kann es wohl nicht (Debian/woody oder sarge)?

OffeneFrage: Ich kann mit passwd nicht das Passwort im LDAP Baum ändern, weil das nicht über pam geht oder?

PAM (zuletzt geändert am 2014-01-08 07:34:37 durch 188)