automatische Konfiguration von PAM
die einzelnen Distributionen bringen jeweils einzelne Programme für die PAM-Konfiguration mit.
Debian/Ubuntu
pam-auth-update ist ein Perlscript und etwas anfällig. da es gelegentlich keine Rückmeldungen gibt.
Dann sollte man die Datei /var/lib/pam/seen
löschen, wenn es Probleme gibt.
(Die Datei wird bei jedem neuen Durchlauf neu erstellt.)
Die Moduldateien (einfache ASCII-Dateien) liegen standardmäßig in: /usr/share/pam-configs/
und können selbst erstellt werden.
Das Format ist auch hier sehr empfindlich!
hier ein paar Beispiele:
- access
Name: Activate access
Default: yes
Priority: 512
Auth-Type: Primary
Auth:
required pam_access.so accessfile=/etc/security/access.conf
- mkhomedir
Name: Activate mkhomedir
Default: yes
Priority: 900
Session-Type: Additional
Session:
required pam_mkhomedir.so skel=/etc/skel umask=0022
- time
Name: Activate time
Default: yes
Priority: 900
Account-Type: Primary
Account:
requisite pam_time.so
nicht interaktive Installation des Modules time
:
pam-auth-update --package time
nicht interaktive Deinstallation des Moduls access
:
pam-auth-update --remove access
Suse
pam-config ist ein reines Konsolenprogramm und funktioniert da schon besser, hat aber leider das Modul time
nicht mit integriert.
Beispiele:
Installation des Moduls access
:
pam-config -a access
oder
pam-config -a --mkhomedir
Deinstallation des Moduls cracklib
:
pam-config -d cracklib
Anzeige aller verfügbaren Module:
pam-config --list-modules
Installation eines Service Moduls:
pam-config --service common-auth -a --mount
Sonderfall time
:
Installation des Time-Moduls:
awk -i inplace -v var='account\trequisite\tpam_time.so' 'BEGIN { found = 0; ins = var } /^account/ { if( ! found ) {print var; found = 1; }} { print }' /etc/pam.d/common-account
Deinstallation des time-Moduls:
sed -i -e \'/pam_time.so/d\' /etc/pam.d/common-account