Linux-PAM-1.3.0

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 se construire correctement sur une plateforme LFS-8.4.

Informations sur le paquet

  • Téléchargement (HTTP) : http://linux-pam.org/library/Linux-PAM-1.3.0.tar.bz2

  • Téléchargement (FTP) :

  • Somme de contrôle MD5 du téléchargement : da4b2289b7cfb19583d54e9eaaef1c3a

  • Taille du téléchargement : 1.3 Mo

  • Estimation de l'espace disque requis : 28 Mo (avec les tests)

  • Estimation du temps de construction : 0.5 SBU (avec les tests)

Téléchargements supplémentaires

Documentation facultative

Dépendances de Linux PAM

Facultatives

Berkeley DB-5.3.28, CrackLib-2.9.6, libtirpc-1.1.4 et Prelude

Facultatifs (pour reconstruire la documentation)

docbook-xml-4.5, docbook-xsl-1.79.2, fop-2.3, libxslt-1.1.33 et soit w3m-0.5.3 soit elinks (mais avec un lien pour l'appeler 'links') et en supprimant le paramètre documentation.

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/linux-pam

Installation de Linux PAM

Si vous avez téléchargé la documentation, déballez l'archive tar en exécutant la commande suivante.

tar -xf ../Linux-PAM-1.2.0-docs.tar.bz2 --strip-components=1

Installez Linux PAM en lançant les commandes suivantes :

./configure --prefix=/usr                    \
            --sysconfdir=/etc                \
            --libdir=/usr/lib                \
            --disable-regenerate-docu        \
            --enable-securedir=/lib/security \
            --docdir=/usr/share/doc/Linux-PAM-1.3.0 &&
make

Pour tester les résultats, le fichier de configuration suivant /etc/pam.d/other doit exister.

[Attention]

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 lançant la commande suivante en tant qu'utilisateur root :

rm -fv /etc/pam.d/*

Maintenant, en tant qu'utilisateur root :

make install &&
chmod -v 4755 /sbin/unix_chkpwd &&

for file in pam pam_misc pamc
do
  mv -v /usr/lib/lib${file}.so.* /lib &&
  ln -sfv ../../lib/$(readlink /usr/lib/lib${file}.so) /usr/lib/lib${file}.so
done

Explication des commandes

--enable-securedir=/lib/security : Ce paramètre initialise l'emplacement pour les modules PAM.

--disable-regenerate-docu : Ce paramètre évite que cette version du paquet n'essaye de construire sa documentation, et échoue, si les dépendances requises sauf w3m-0.5.3 sont présentes, mais que Links-2.18 est présent. Supprimez ce paramètre si vous avez install w3m (ou elinks, avec un lien pour l'appeler avec 'links').

chmod -v 4755 /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, initialisez certains fichiers génériques. En 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

Le fichier générique restant dépend de l'installation de CrackLib-2.9.6. S'il est installé, utilisez :

cat > /etc/pam.d/system-password << "EOF"
# Begin /etc/pam.d/system-password

# check new passwords for strength (man pam_cracklib)
password  required    pam_cracklib.so    authtok_type=UNIX retry=1 difok=5 \
                                         minlen=9 dcredit=1 ucredit=1 \
                                         lcredit=1 ocredit=1 minclass=0 \
                                         maxrepeat=0 maxsequence=0 \
                                         maxclassrepeat=0 \
                                         dictpath=/lib/cracklib/pw_dict
# use sha512 hash for encryption, use shadow, and use the
# authentication token (chosen password) set by pam_cracklib
# above (or any previous modules)
password  required    pam_unix.so        sha512 shadow use_authtok

# End /etc/pam.d/system-password
EOF
[Note]

Note

Dans la configuration par défaut, pam_cracklib permettra les mots de passe avec une casse multiple d'au moins 6 caractères, même avec la valeur minlen initialisée à 11. Vous devez revoir la page de man pam_cracklib(8) et déterminer si ces valeurs par défaut sont acceptable pour la sécurité de votre système.

Si CrackLib-2.9.6 n'est PAS installé, utilisez :

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

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.

Référez-vous à http://debian.securedservers.com/kernel/pub/linux/libs/pam/modules.html pour une liste des modules tiers disponibles.

[Important]

Important

Vous devriez maintenant réinstaller les paquets Shadow-4.6 et Systemd-240.

Contenu

Programme installé: mkhomedir_helper, pam_tally, pam_tally2, pam_timestamp_check, unix_chkpwd et unix_update
Bibliothèques installées: libpam.so, libpamc.so et libpam_misc.so
Répertoires installés: /etc/security, /lib/security, /usr/include/security et /usr/share/doc/Linux-PAM-1.3.0

Descriptions courtes

mkhomedir_helper

est un assistant binaire qui crée des répertoires home.

pam_tally

est utilisé pour interroger et manipuler le fichier compteur de login.

pam_tally2

est utilisé pour interroger et manipuler le fichier compteur de login sans certaines limitations de pam_tally.

pam_timestamp_check

est utilisé pour vérifier si l'horodatage par défaut est valide.

unix_chkpwd

est un assistant binaire qui vérifie le mot de passe de l'actuel utilisateur.

unix_update

est un assistant binaire qui met à jour le mot de passe d'un utilisateur donné.

libpam.so

fournit les interfaces entre les applications et les modules PAM.

Last updated on 2019-02-15 21:01:29 +0000