Utiliser pam_userdb.so pour l'authentification des utilisateurs

Le module d’authentification PAM pam_userdb.so utilise une base de données au format Berkeley pour conserver les mots de passes associés aux noms d’utilisateurs.

Pour créer la base de données, vous aurez besoin du paquet libdb3-util, qui contient les outils nécessaires.

Attention ! N’oubliez pas que les mots de passe contenus dans cette base de données ne sont pas chiffrés. Toute personne ayant le droit de lire ce fichier pourra obtenir les mots de passe de tous les utilisateurs !

La procédure suivante vous permettra de paramétrer PAM pour utiliser pam_userdb.so pour l’authentification des utilisateurs :

  • Créez un fichier texte contenant tous les noms d’utilisateurs et leurs mots de passes associés :

Ce fichier indiquera tous les couples nom d’utilisateur - mot de passe, chaque nom d’utilisateur étant sur une première ligne et le mot de passe associé sur la ligne suivante.

Par exemple :

utilisateur_1
mot_de_passe_de_l_utilisateur_1
utilisateur_2
mot_de_passe_de_l_utilisateur_2
...
  • Convertissez ce fichier texte en base de données Berkeley :

    db3_load -T -f fichier_texte.txt -t hash identification.db
    

Ce qui va créer une base de données Berkeley appelée « identification.db », utilisable par PAM pour l’authentification.

  • Assurez-vous que seul l’utilisateur root pourra lire et modifier ce fichier :

    chown root.root identification.db
    chmod 0600 identification.db
    
  • Ajoutez un appel au module PAM dans le fichier approprié de /etc/pam.d/ :

    auth required pam_userdb.so db=/chemin/complet/vers/identification
    

Attention ! L’extension « .db » doit être omise dans le paramètre indiqué au module PAM.


Licence : CC-BY