Dans les systèmes Linux, les mots de passe des utilisateurs sont stockés de manière sécurisée dans des formats cryptés au sein de fichiers système et de bases de données d’authentification dédiés. Ces informations d’identification jouent un rôle essentiel dans la gestion du contrôle d’accès et garantissent que seuls les utilisateurs autorisés peuvent interagir avec les ressources du système. Par exemple, les mots de passe standard des utilisateurs sont généralement hachés et enregistrés dans le fichier /etc/shadow, qui n’est accessible que par les processus privilégiés. De même, des services tels qu’OpenSSH s’appuient sur ces hachages stockés pour vérifier l’identité des utilisateurs lors des sessions de connexion à distance.

Pour les hébergeurs comme AvaHost, il est essentiel de comprendre comment et où Linux stocke ces informations d’identification pour maintenir des environnements sécurisés sur les VPS et les serveurs dédiés. Que vous configuriez des stratégies passwd pour plusieurs clients ou que vous imposiez un accès sécurisé via sshd_config, une gestion appropriée du stockage des mots de passe est essentielle pour empêcher les accès non autorisés et protéger les données hébergées.

1. Le fichier /etc/passwd (informations sur l’utilisateur)

Le fichier /etc/passwd contient une liste de tous les utilisateurs du système, ainsi que des informations de base sur les comptes.

Exemple d’entrée dans le fichier /etc/passwd :

username:x:1001:1001:User Name:/home/username:/bin/bash

Champs expliqués :

  • username: Le nom de connexion de l’utilisateur.
  • x: Caractère générique indiquant que le mot de passe est stocké dans un fichier séparé.
  • 1001:1001: ID de l’utilisateur (UID) et ID du groupe (GID).
  • Nom de l’utilisateur: Nom complet ou description de l’utilisateur.
  • /home/username: répertoire personnel de l’utilisateur.
  • /bin/bash: L’interpréteur de commandes par défaut attribué à l’utilisateur.

2. Le fichier /etc/shadow (mots de passe cryptés)

Linux stocke les hachages de mots de passe réels dans le fichier /etc/shadow, qui n’est accessible que par l’utilisateur root.

Exemple d’entrée dans le fichier /etc/shadow :

username:$6$abc123$XYZhashedpassword:18528:0:99999:7:::

Champs expliqués :

  • $6$: Indique l’algorithme de cryptage (SHA-512 dans ce cas).
  • abc123: Sel utilisé pour hacher le mot de passe.
  • XYZhashedpassword: Le mot de passe haché actuel.
  • 18528: Date du dernier changement de mot de passe.
  • 0:99999:7: Informations sur le vieillissement du mot de passe (validité minimale et maximale du mot de passe).

Vérification de l’algorithme de hachage du mot de passe :

Pour connaître l’algorithme de hachage utilisé, exécutez la commande suivante :

cat /etc/shadow | grep username

3. Le fichier /etc/group (informations sur les groupes)

Le fichier /etc/group contient des informations sur les groupes d’utilisateurs et les membres de ces groupes.

Exemple d’entrée dans le fichier /etc/group :

developers:x:1002:username1,username2

4. Le répertoire /var/lib/AccountsService/ (comptes utilisateurs de l’interface graphique)

Certaines distributions de Linux stockent les préférences des comptes d’utilisateurs pour les connexions à l’interface graphique dans le répertoire /var/lib/AccountsService/ :

/var/lib/AccountsService/users/

Ces fichiers contiennent des métadonnées telles que les noms d’affichage et les préférences de session, mais ne stockent pas les mots de passe.

5. Commandes de gestion des mots de passe

Modifier le mot de passe de l’utilisateur :

passwd username

Voir les informations sur le vieillissement du mot de passe :

chage -l username

Forcer les utilisateurs à changer de mot de passe lors de leur prochaine connexion :

passwd --expire username

6. Comment Linux sécurise les mots de passe

  • Hachage et salage : Les mots de passe ne sont jamais stockés en texte clair. Au contraire, ils sont hachés et salés pour empêcher leur récupération directe.
  • Accès réservé à la racine : Les fichiers tels que /etc/shadow sont limités à l’accès de la racine.
  • Modules d’authentification enfichables (PAM) : L’authentification Linux est gérée par PAM, qui applique les politiques de sécurité des mots de passe.

Conclusion

Linux stocke en toute sécurité les informations d’identification des utilisateurs dans des fichiers système tels que /etc/passwd et /etc/shadow, garantissant ainsi un accès crypté et restreint. La compréhension de ces mécanismes de stockage est essentielle pour la sécurité du système et la gestion des utilisateurs.