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.
Note
Development versions of BLFS may not build or run some packages
properly if dependencies have been updated since the most recent
stable versions of the book.
Informations sur le paquet
Téléchargements supplémentaires
Documentation facultative
Dépendances de Linux PAM
Facultatives
Berkeley DB-5.3.28, libnsl-2.0.0,
libtirpc-1.3.2, libaudit et
Prelude
Facultatifs (pour reconstruire la documentation)
docbook-xml-4.5, docbook-xsl-nons-1.79.2, fop-2.7,
libxslt-1.1.35 et soit Lynx-2.8.9rel.1, soit W3m
Note
Shadow-4.11.1 doit être
réinstallé 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. Pour assurer des mots de passe forts, il
est recommandé d'utiliser libpwquality-1.4.4.
Notes utilisateur : https://wiki.linuxfromscratch.org/blfs/wiki/linux-pam
Installation de Linux PAM
Commencez par éviter l'installation d'un fichier systemd
inutile :
sed -e /service_DATA/d \
-i modules/pam_namespace/Makefile.am &&
autoreconf
Si vous avez téléchargé la documentation, déballez l'archive tar en
exécutant la commande suivante.
tar -xf ../Linux-PAM-1.5.2-docs.tar.xz --strip-components=1
Si vous voulez plutôt regénérer la documentation, corrigez le
script configure pour
qu'il détecte lynx s'il est installé :
sed -e 's/dummy elinks/dummy lynx/' \
-e 's/-no-numbering -no-references/-force-html -nonumbers -stdin/' \
-i configure
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.5.2 &&
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
. Dans le cas où 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. Notez 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.
Seulement dans le cas d'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.
--disable-regenerate-docu
: Si les
dépendances requises (docbook-xml-4.5, docbook-xsl-nons-1.79.2, libxslt-1.1.35 et Lynx-2.8.9rel.1
ou W3m)
sont installés, les pages de manuel et la documentation html et
textuelle est régénérée et installée. En plus, si fop-2.7 est installé, la
documentation PDF est générée et installée. Utilisez ce paramètre
si vous ne voulez pas reconstruire la documentation.
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 sha512 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 sha512 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.4 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) offre un
bon point de départ pour des descriptions des champs et des
entrées autorisées. Le Linux-PAM
System Administrators' Guide (guide de l'administrateur système
Linux-PAM) est recommandé pour des informations
supplémentaires.
Important
Vous devriez maintenant réinstaller le
paquet Shadow-4.11.1.