Le billet se présente comme un résumé très bref afin de cerner les mécanismes d’authentification sous Debian présent dans le référentiel du BTS Services Informatiques aux Organisations.
Dans un systeme d’exploitation dit « Unix » la gestion de l’authentification utilise trois fichiers « principaux » à savoir,
- /etc/passwd : Contient la liste des utilisateurs avec des paramètres comme le mot de pass, le dossier home ext …
- /etc/shadow : Contient les options relatives au mot de pass des utilisateurs
- /etc/group : Contient la liste des groupes disponibles
Debian (comme d’autres distributions) complète ce mécanisme d’authentification avec
- PAM (Pluggable Authentication Modules)
- NSS (Name Service Switch)
PAM va permettre l’échange de mot de passe entre applications et NSS va permettre de centraliser différentes sources d’identifiants et de mots de passes.
Le fichier /etc/passwd liste vos utilisateurs ainsi que les propriétés associés, toutes sont séparé par « : », ci-dessous la liste dans l’ordre.
Exemple : proxy:x:13:13:proxy:/bin:/bin/sh
- nom de l’utilisateur pour la connexion ;
- entrée de spécification du mot de passe(X renvois à /etc/shadow) ;
- identifiant numérique de l’utilisateur ;
- identifiant numérique du groupe ;
- nom de l’utilisateur ou champ de commentaire ;
- répertoire personnel de l’utilisateur ;
- interpréteur de commandes, optionnel, de l’utilisateur.
Il faut préciser que l’entée N°2 qui spécifie le mot de passe est noté comme « X » qui renvoi au fichier /etc/shadow qui lui-même contient d’autres informations que je liste ci-dessous.
Exemple : nomutilisateur:motdepasscrypté:16450:0:99999:7:::
- nom de l’utilisateur pour la connexion ;
- mot de passe chiffré (le « $1$ » du début indique l’utilisation d’un chiffrement MD5. Le signe « * » indique que le compte ne peut pas se connecter) ;
- Date du dernier changement de mot de passe, exprimé en nombre de jours passés depuis le premier janvier 1970.
- Nombre de jours avant qu’un utilisateur ne soit autorisé à changer à nouveau son mot de passe.
- Nombre de jours avant que l’utilisateur ne soit tenu de changer son mot de passe.
- nombre de jours avant qu’un mot de passe n’arrive à expiration et durant lesquels l’utilisateur doit être averti ;
- Nombre de jours durant lesquels un mot de passe devrait encore être accepté, passé sa date d’expiration.
- Date d’expiration du compte, exprimée en nombre de jours passés depuis le premier janvier 1970.
Le dernier fichier contient toute les informations relatives au groupes que vous avez sur votre Debian. Chaque utilisateurs peut être inséré ou supprimé dans un groupe d’utilisateur. Ainsi on retrouve plusieurs paramètres séparé par « : »
Exemple : nomgroupe:x:20:user1,user2
- nom du groupe ;
- mot de passe chiffré (non utilisé en pratique) ;
- identifiant numérique du groupe ;
- liste des noms d’utilisateurs séparés par des « , ».
Vous trouverez ci-dessous quelques commandes indispensable pour gérer les informations des comptes utilisateurs:
- getent passwd
consulter les informations du compte « » - getent shadow
consulter les informations cachées du compte « » - getent group
consulter les informations du groupe « » - passwd gérer le mot de passe de ce compte
- passwd -e définir un mot de passe à usage unique pour l’activation du compte
- chage gérer les informations de durée de validité du mot de passe
Dans un prochain billet j’aborderai plus en détails PAM (Pluggable Authentication Modules) ainsi que NSS (Name Service Switch) qui comme précisé ci-dessus permettent nomrbes d’options, comme installé une authentification centralisée en utilisant plusieurs protocole comme LDAP, ou encore Kerberos.