Changer le mot de passe d'un compte utilisateur sous Linux
Le mot de passe d'un compte Linux se change avec la commande passwd, dans un terminal. Les mots de passe sont stockés sous forme chiffrée dans le fichier /etc/shadow, que seul root peut lire.
Changer son propre mot de passe
Le système demande le mot de passe actuel, puis le nouveau mot de passe deux fois. Aucun caractère ne s'affiche pendant la saisie, c'est normal. Si le nouveau mot de passe est trop court ou trop simple, il peut être refusé : les règles dépendent de la configuration du système (module PAM pwquality).
Changer le mot de passe d'un autre utilisateur
Connecté en root, ou avec sudo, on peut changer le mot de passe de n'importe quel compte, sans connaître l'ancien :
sudo passwd utilisateur
Il faut fournir le nouveau mot de passe deux fois.
Autres opérations utiles
| Commande | Effet |
|---|---|
sudo passwd -e utilisateur | oblige l'utilisateur à choisir un nouveau mot de passe à sa prochaine connexion |
sudo passwd -l utilisateur | verrouille le compte : le mot de passe ne permet plus de se connecter |
sudo passwd -u utilisateur | déverrouille le compte |
sudo passwd -S utilisateur | affiche l'état du mot de passe (défini, verrouillé, date du dernier changement) |
sudo chage -l utilisateur | affiche la politique d'expiration du mot de passe |
Changer un mot de passe dans un script
Pour un traitement automatique (création de comptes, par exemple), chpasswd lit les couples « utilisateur:mot de passe » sur son entrée standard :
echo 'utilisateur:nouveau_mot_de_passe' | sudo chpasswd
Attention : le mot de passe apparaît alors en clair dans la commande, donc potentiellement dans l'historique du shell et dans la liste des processus. Réservez cette méthode aux environnements de test.
Mot de passe root oublié
Si vous avez accès à la machine (console, écran et clavier, ou console de l'hébergeur), il est possible de redémarrer en mode de secours ou de démarrer sur un autre système, puis de lancer passwd sur le système monté. La procédure exacte dépend de la distribution. Sur une machine distante sans accès à sa console, il faut passer par l'interface de votre hébergeur.