draft: Forcer un utilisateur à changer son mot de passe au prochain démarrage

This commit is contained in:
Cédrix
2026-05-15 23:50:14 +02:00
parent 673762399a
commit ae72acf793
2 changed files with 67 additions and 0 deletions
@@ -0,0 +1,4 @@
{
"title": "Forcer un utilisateur à changer son mot de passe à la prochaine connexion",
"_updated_at": "2026-05-15 21:50:14"
}
@@ -0,0 +1,63 @@
Voici l'article corrigé :
---
# Forcer un utilisateur à changer son mot de passe à la prochaine connexion
![Forcer un utilisateur à changer son mot de passe à la prochaine connexion.](password.png)
Sous Linux, vous pouvez utiliser la commande **`passwd`** avec l'option `-e` (pour *expire*) afin de forcer un utilisateur à changer son mot de passe lors de sa prochaine connexion. Cette commande est généralement utilisée par un administrateur, par exemple après la création d'un compte, en cas de suspicion de compromission, ou pour appliquer une politique de sécurité.
```bash
sudo passwd -e <username>
```
Cela forcera l'utilisateur `<username>` à définir un nouveau mot de passe lors de sa prochaine connexion. À noter que cette commande n'affecte pas les sessions déjà ouvertes : les utilisateurs actuellement connectés ne seront sollicités qu'à leur prochaine authentification.
## Vérifier que l'expiration est bien appliquée
Trois méthodes permettent de vérifier que le mot de passe est bien marqué comme expiré.
### 1. Via le fichier `/etc/shadow`
Le fichier `/etc/shadow` contient les hachages des mots de passe ainsi que les informations d'expiration. Son troisième champ indique la date du dernier changement de mot de passe, exprimée en nombre de jours depuis le 1er janvier 1970 (epoch Unix). Après un `passwd -e`, cette valeur est fixée à `0`, ce qui signale au système que le mot de passe doit être renouvelé.
```bash
sudo grep <username> /etc/shadow
```
La sortie ressemble à ceci (le `0` en troisième position confirme l'expiration) :
```
<username>:$6$...:0:0:99999:7:::
```
### 2. Via la commande `chage`
La commande `chage` avec l'option `-l` affiche les informations d'expiration du compte. Lorsque le mot de passe doit être changé, le champ *Last password change* (ou *Dernier changement de mot de passe*) affiche la mention `password must be changed` / `le mot de passe doit être changé`.
```bash
sudo chage -l <username>
```
### 3. Via la commande `passwd -S`
La commande `passwd` avec l'option `-S` (*status*) affiche un résumé sur une seule ligne. La date du dernier changement de mot de passe sera antérieure à aujourd'hui — typiquement `01/01/1970` après un `passwd -e`.
```bash
sudo passwd -S <username>
```
## Annuler l'expiration forcée
Si vous souhaitez revenir en arrière (par exemple, vous avez forcé l'expiration par erreur), vous pouvez réinitialiser la date du dernier changement à aujourd'hui avec `chage` :
```bash
sudo chage -d $(date +%Y-%m-%d) <username>
```
L'utilisateur ne sera alors plus contraint de changer son mot de passe à la prochaine connexion.
---
Veux-tu que je l'enregistre dans un fichier Markdown téléchargeable ?