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.3.
Informations sur le paquet
Téléchargements supplémentaires
Documentation facultative
Dépendances de Linux PAM
Facultatives
libnsl-2.0.1, libtirpc-1.3.6, rpcsvc-proto-1.4.4, Berkeley
DB (obsolète), libaudit et
libeconf
Facultatives (pour construire la documentation et les pages de
manuel)
docbook-xml-5.0, docbook-xsl-ns-1.79.2, fop-2.10 (pour le
format PDF), libxslt-1.1.42 et Lynx-2.9.2 (pour le
format texte brut)
Note
Shadow-4.17.3 doit être
réinstallé et reconfiguré 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.
Installation de Linux PAM
Si vous avez installé docbook-xml-5.0, docbook-xsl-ns-1.79.2, libxslt-1.1.42 et Lynx-2.9.2 et
souhaitez générer le format en texte brut de la documentation,
modifiez meson.build
pour utiliser
Lynx-2.9.2 au lieu de W3m ou Elinks qui ne sont
pas fournis par BLFS :
sed -e "s/'elinks'/'lynx'/" \
-e "s/'-no-numbering', '-no-references'/ \
'-force-html', '-nonumbers', '-stdin'/" \
-i meson.build
Installez Linux PAM en exécutant
les commandes suivantes :
mkdir build &&
cd build &&
meson setup .. \
--prefix=/usr \
--buildtype=release \
-D docdir=/usr/share/doc/Linux-PAM-1.7.0 &&
ninja
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 ninja 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 ninja test. Assurez-vous qu’il
n’y a pas d'erreurs produites par les tests avant de continuer
l'installation.
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
:
ninja install &&
chmod -v 4755 /usr/sbin/unix_chkpwd
Supprimez maintenant un répertoire inutile en tant que root
:
rm -rf /usr/lib/systemd
Si vous n'avez pas installé les dépendances facultatives pour
construire la documentation et avez téléchargé la documentation
pré-construite facultative, toujours en tant qu'utilisateur
root
:
tar -C / -xvf ../../Linux-PAM-1.7.0-docs.tar.xz
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 dans /usr/share/doc/Linux-PAM-1.7.0/Linux-PAM_SAG.txt
est recommandé pour plus d'information.
Important
Vous devriez maintenant réinstaller le
paquet Shadow-4.17.3.