Introduction à Linux PAM
Le paquet Linux PAM contient des
Pluggable Authentication Modules (modules d'authentification
connectables). C'est utile pour permettre à l'administrateur
système local de choisir la façon dont s'authentifient les
utilisateurs des applications.
Ce paquet est connu pour pouvoir être construit et fonctionner
correctement avec une plateform 12.2.
Informations sur le paquet
Téléchargements supplémentaires
Documentation facultative
Dépendances de Linux PAM
Facultatives
libnsl-2.0.1, libtirpc-1.3.5, rpcsvc-proto-1.4.4, Berkeley
DB (obsolète), libaudit,
libeconf et Prelude
Note
Shadow-4.16.0 et
Systemd-256.4 doivent être réinstallés et
reconfigurés après avoir installé et configuré
Linux PAM.
Avec Linux-PAM-1.4.0 et supérieur, le module pam_cracklib n'est
pas installé par défaut. Utilisez libpwquality-1.4.5 pour forcer
l'utilisation de mots de passe forts.
Configuration
du noyau
Pour que le module PAM pam_loginuid.so
(référencé par le fichier de
configuration PAM system-session
si
Systemd-256.4 est reconstruit avec la
prise en charge de PAM plus tard) fonctionne, un paramètre
de configuration du noyau doit être indiqué ou le module ne fera
rien :
General setup --->
[*] Auditing support [AUDIT]
Installation de Linux PAM
Le fichier libtool.m4
embarqué a une
configuration incohérente avec la hiérarchie /usr
de LFS. Ce problème ferait lier libpam_misc.so
avec un drapeau rpath qui peut
parfois poser problème voire des problèmes de sécurité. Régénérez
le système de construction pour corriger l'incohérence :
autoreconf -fi
Si vous avez téléchargé la documentation, déballez l'archive tar en
exécutant la commande suivante.
tar -xf ../Linux-PAM-1.6.1-docs.tar.xz --strip-components=1
Installez Linux PAM en exécutant
les commandes suivantes :
./configure --prefix=/usr \
--sbindir=/usr/sbin \
--sysconfdir=/etc \
--libdir=/usr/lib \
--enable-securedir=/usr/lib/security \
--docdir=/usr/share/doc/Linux-PAM-1.6.1 &&
make
Pour tester les résultats, le fichier de configuration suivant
/etc/pam.d/other
doit exister.
Réinstallation ou mise à jour de Linux PAM
Si vous avez un système avec Linux PAM installé et en
fonctionnement, soyez attentif quand vous modifiez les fichiers
dans /etc/pam.d
, car votre système
peut devenir totalement inutilisable. Si vous souhaitez lancer
les tests, vous n'avez pas besoin de créer un autre fichier
/etc/pam.d/other
. Le fichier
installé peut être utilisé pour cela.
Vous devez aussi être conscient que make install écrase les
fichiers de configuration dans /etc/security
ainsi que dans /etc/environment
. Si vous avez modifié ces
fichiers, soyez certain de les avoir sauvegardés.
Pour une première installation, créez le fichier de configuration
en tapant les commandes suivantes en tant qu'utilisateur
root
:
install -v -m755 -d /etc/pam.d &&
cat > /etc/pam.d/other << "EOF"
auth required pam_deny.so
account required pam_deny.so
password required pam_deny.so
session required pam_deny.so
EOF
Maintenant lancez les tests en exécutant make check. Assurez-vous qu’il
n’y a pas d'erreurs produites par les tests avant de continuer
l'installation. Remarquez que les tests sont très longs. Il peut
être utile de rediriger la sortie vers un fichier de log pour
pouvoir l'inspecter consciencieusement.
Pour une première installation, supprimez le fichier de
configuration créé plus haut en exécutant la commande suivante en
tant qu'utilisateur root
:
rm -fv /etc/pam.d/other
Maintenant, en tant qu'utilisateur root
:
make install &&
chmod -v 4755 /usr/sbin/unix_chkpwd
Explication des commandes
--enable-securedir=/usr/lib/security
:
ce paramètre initialise l'emplacement pour les modules PAM.
chmod -v 4755
/usr/sbin/unix_chkpwd : le programme d'aide
unix_chkpwd doit être
setuid afin que les processus non-root
puissent accéder au fichier shadow.
Configuration de Linux-PAM
Fichiers de
configuration
/etc/security/*
et /etc/pam.d/*
Informations de configuration
Les informations de configuration se trouvent dans /etc/pam.d/
. Voici ci-dessous un fichier
exemple :
# Begin /etc/pam.d/other
auth required pam_unix.so nullok
account required pam_unix.so
session required pam_unix.so
password required pam_unix.so nullok
# End /etc/pam.d/other
Maintenant, mettez en place des fichiers génériques. En tant
qu'utilisateur root
:
install -vdm755 /etc/pam.d &&
cat > /etc/pam.d/system-account << "EOF" &&
# Begin /etc/pam.d/system-account
account required pam_unix.so
# End /etc/pam.d/system-account
EOF
cat > /etc/pam.d/system-auth << "EOF" &&
# Begin /etc/pam.d/system-auth
auth required pam_unix.so
# End /etc/pam.d/system-auth
EOF
cat > /etc/pam.d/system-session << "EOF" &&
# Begin /etc/pam.d/system-session
session required pam_unix.so
# End /etc/pam.d/system-session
EOF
cat > /etc/pam.d/system-password << "EOF"
# Begin /etc/pam.d/system-password
# use yescrypt hash for encryption, use shadow, and try to use any
# previously defined authentication token (chosen password) set by any
# prior module.
password required pam_unix.so yescrypt shadow try_first_pass
# End /etc/pam.d/system-password
EOF
Si vous voulez activer la prise en charge des mots de passe
forts, installez libpwquality-1.4.5 et suivez les
instructions de cette page pour configurer le module PAM
pam_pwquality avec la prise en charge des mots de passe forts.
Maintenant ajoutez un fichier de configuration /etc/pam.d/other
restrictif. Avec ce fichier,
les programmes qui ne sont pas sous PAM ne pourront pas se lancer
sans qu'un fichier de configuration spécifique pour l'application
ne soit créé.
cat > /etc/pam.d/other << "EOF"
# Begin /etc/pam.d/other
auth required pam_warn.so
auth required pam_deny.so
account required pam_warn.so
account required pam_deny.so
password required pam_warn.so
password required pam_deny.so
session required pam_warn.so
session required pam_deny.so
# End /etc/pam.d/other
EOF
La page de manuel de PAM
(man pam) fournit
un bon point d'entrée pour apprendre les différents champs et les
entrées acceptables. Le
Guide de l'administration système Linux-PAM est recommandé
pour plus d'information.