Changer le mot de passe d’un utilisateur avec Passwd

I. Présentation

Il peut arriver d'avoir besoin de changer le mot de passe d'un utilisateur sur une machine Linux, c'est une opération trés simple qui s'effectue avec la commande POSIX "passwd". Dans ce tutoriel, nous allons donc apprendre à changer le mot de passe d'un utilisateur simple mais aussi celui de root avec cette commande.

Ce qu'il faut savoir, c'est que seul un utilisateur peut changer son propre mot de passe (s'il y est autorisé) et que root peut changer tous les mots de passe. Les mots de passe sont stockés dans le fichier "/etc/shadow" où ils sont chiffrés.

II. Le fichier /etc/shadow

Le fichier « /etc/shadow » contient les mots de passe cryptés des utilisateurs. Sa création a été faite afin de sécuriser un peu le système d’authentification car les développeurs ont jugés dangereux de mettre le mot de passe et les autres informations utilisateurs dans un même fichier. En effet, le fichier « /etc/passwd » est lisible par tous, il serait donc possible de récupérer ce fichier et (si les mots de passe étaient stockés dedans) de tester par brute force tous les hashs possibles dessus.

Comme le fichier « /etc/passwd », le fichier « /etc/shadow » compte un utilisateur par ligne et une ligne est divisée en plusieurs colonnes :

  • Le nom de l’utilisateur
  • L’empreinte du mot de passe.
  • Le nombre de jour entre le 01/01/1970 et la dernière modification du mot de passe
  • Le nombre de jours avant que le mot de passe ne puisse plus être modifié.
  • Nombre en jours pour l’avertissement de l’utilisateur pour l’expiration de son mot de passe
  • Nombre de jours avant l'expiration du mot de passe, (-1) défini un mot de passe qui n’expire jamais.
  • Nombre de jour entre le 01/01/1970 et la fermeture du compte, (-1) défini un compte qui n’expire jamais

On peut d'ailleurs avoir les informations du mot de passe d'un compte avec la commande suivante :

passwd -S < user >

On obtiendra un résultat de ce type :

Chpass03

Ici la deuxième colonne, qui est l'empreinte du mot de passe est représentée par une lettre :

  • "L" : Le mot de passe est bloqué
  • "NP" : Il n'y a pas de mot de passe
  • "P" : Il y a un mot de passe utilisable

La troisème colonne a une meilleur mise en forme que dans le fichier "/etc/passwd" car c'est la date de dernière modification est y est directement affichée.

On obtiendra les mêmes informations pour tous les comptes avec la commande "passwd -aS" en tant que root.

III. Changer mot de passe utilisateur simple

Si les utilisateurs y sont autorisés, n'importe qui peut modifier son propre mot de passe, on utilisera depuis le compte voulu la commande suivante :

passwd

Il faut que le mot de passe respecte la politique des mots de passe mis en place (gérée par "pam_unix" par défaut). On devra ensuite saisir deux fois notre nouveau mot de passe :

Chpass01

Depuis le compte root, on peut changer le mot de passe de tous les utilisateurs de la machine. On doit alors préciser après la commande "passwd" quel compte doit être modifié :

passwd user

Le mot de passe doit aussi respecter la politique des mots de passe mais en tant que root, nous pouvons forcé la mise en place d'un mot de passe qui ne respecte pas la politique des mots de passe.

IV. Changer mot de passe de utilisateur root

Seul root peut le faire, il faut être trés prudent lors du changement du mot de passe root. On utilise donc la commande passwd toute simple.

passwd

Le mot de passe root sera alors modifié.

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Mickael Dorigny

Co-fondateur d'IT-Connect.fr. Auditeur/Pentester chez Orange Cyberdéfense.

Nombre de posts de cet auteur : 521.Voir tous les posts

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.