Linux / Commande passwd : changer un mot de passe et vérifier son état

passwd permet de changer le mot de passe d'un compte Linux de manière interactive. Un utilisateur ordinaire change son propre mot de passe ; un administrateur peut aussi réinitialiser celui d'un autre compte. Les demandes affichées et les règles d'acceptation dépendent de la distribution et de sa configuration d'authentification.

Changer son propre mot de passe

passwd [options] [utilisateur]

Pour votre compte courant, ouvrez un terminal et lancez :

passwd
  1. Saisissez le mot de passe actuel si le programme le demande, puis appuyez sur Entrée.
  2. Saisissez le nouveau mot de passe lorsque la demande correspondante apparaît.
  3. Retapez le même nouveau mot de passe pour confirmation.
  4. Lisez le message final : seule une confirmation de réussite indique que la modification a été enregistrée.

Les caractères saisis ne sont généralement accompagnés ni de lettres ni d'astérisques à l'écran. Cet affichage vide est normal : ne recommencez pas à taper uniquement parce que rien ne s'affiche. Exemple de dialogue, dont le texte peut être différent sur votre machine :

Current password:
New password:
Retype new password:
passwd: password updated successfully

Ne mettez pas le mot de passe réel dans la ligne de commande, un exemple partagé ou une capture d'écran. Vous évitez ainsi son enregistrement dans l'historique du shell ou sa présence dans des informations de processus.

Réinitialiser le mot de passe d'un autre compte

Un administrateur doit d'abord confirmer le compte visé. Dans l'exemple suivant, remplacez alice par son nom exact ; la commande modifie réellement son mot de passe :

sudo passwd alice

Le privilège administrateur permet normalement de définir un nouveau mot de passe sans connaître l'ancien. L'authentification éventuelle de sudo et les demandes de passwd sont deux étapes distinctes : lisez chaque invite avant de saisir une valeur.

Un mot de passe oublié ne peut pas être retrouvé avec cette commande : il est remplacé. Si vous n'avez pas les droits nécessaires, utilisez la procédure de récupération prévue par l'administrateur plutôt que d'essayer un autre nom de compte.

Consulter l'état avec -S

Pour afficher l'état du compte nommé avec les droits appropriés :

sudo passwd -S alice

Avec l'implémentation shadow-utils, la ligne décrit le compte, son état, la dernière modification du mot de passe et les délais de vieillissement. Elle n'affiche pas le mot de passe. Interprétez notamment les codes suivants :

État Signification
P Un mot de passe utilisable est défini. Cela ne garantit pas que toute connexion est autorisée.
L Le mot de passe est verrouillé.
NP Aucun mot de passe n'est défini ; l'effet sur une connexion dépend aussi de la politique d'authentification.

Les champs de délais expriment des durées en jours : minimum et maximum entre changements, avertissement, puis inactivité après expiration. Consultez man passwd sur votre distribution pour le format installé.

Distinguer verrouillage, déverrouillage et expiration

Option Effet à connaître
-l Verrouille le mot de passe du compte nommé. Une autre méthode d'authentification, comme une clé SSH, peut encore fonctionner.
-u Rétablit la valeur antérieure au verrouillage du mot de passe ; ce n'est pas une réinitialisation générale de la politique du compte.
-e Fait expirer immédiatement le mot de passe afin d'en demander le changement lors d'une prochaine connexion qui prend en charge cette procédure.

Ces options changent l'accès et ne constituent pas de simples commandes de consultation. Avant toute intervention, identifiez le compte et l'objectif : bloquer un mot de passe n'équivaut pas à désactiver toutes les connexions ou tous les services d'un utilisateur.

Comprendre un refus de modification

Une différence entre les deux saisies, une règle de qualité ou un délai minimal entre changements peut entraîner un refus. Le module PAM, pour Pluggable Authentication Modules, participe à l'authentification et au changement de mot de passe dans l'implémentation décrite ici ; ses règles peuvent varier selon le système.

Lisez le diagnostic exact, corrigez la saisie ou demandez à l'administrateur de vérifier la politique concernée. Pour un compte géré par un annuaire, assurez-vous également que vous utilisez la procédure de ce service. Ne supposez pas qu'une commande réussie sur un compte local change aussi un mot de passe géré ailleurs.

La page de manuel de passwd du projet shadow-utils détaille les options et leurs conditions. Vérifiez votre version installée avant de reprendre une option : les implémentations de passwd ne proposent pas toutes les mêmes possibilités.