```
* `-e` :fait expirer le mot de passe immédiatement, forçant un changement lors de la prochaine connexion. Cela définit effectivement la dernière date de modification à zéro jour.
* Exemple : `sudo passwd -e utilisateur5`
Considérations importantes :
* Privilèges root : La plupart de ces commandes (en particulier `chage` lors de la modification d'autres utilisateurs) nécessitent les privilèges root. Utilisez `sudo` avant la commande.
* PAM (modules d'authentification enfichables) : L'expiration du mot de passe est fortement influencée par la configuration de PAM. Le répertoire `/etc/pam.d/` contient les fichiers de configuration qui déterminent la façon dont l'authentification (y compris les changements de mot de passe et l'expiration) est gérée. Bien que vous n'ayez généralement pas besoin de modifier ces fichiers directement pour définir des expirations simples avec `chage`, comprendre PAM est crucial pour des scénarios plus complexes.
* `/etc/login.defs` : Ce fichier contient les paramètres par défaut du système pour la création de comptes, y compris les politiques d'expiration des mots de passe. Vous pouvez définir les valeurs par défaut ici, mais les paramètres « chage » pour les utilisateurs individuels remplaceront ces valeurs par défaut. Les paramètres clés dans `/etc/login.defs` sont :
* `PASS_MAX_DAYS` :nombre maximum de jours pendant lesquels un mot de passe peut être utilisé.
* `PASS_MIN_DAYS` :nombre minimum de jours autorisés entre les changements de mot de passe.
* `PASS_WARN_AGE` :Nombre de jours d'avertissement avant l'expiration d'un mot de passe.
* Sécurité : Examinez attentivement votre politique d’expiration de mot de passe. Forcer des changements de mot de passe fréquents peut amener les utilisateurs à choisir des mots de passe plus faibles et plus faciles à retenir. Équilibrez sécurité et convivialité. Envisagez d'autres mesures de sécurité comme l'authentification multifacteur.
* Test : Testez toujours les paramètres d'expiration de votre mot de passe sur un compte utilisateur test *avant* de les appliquer aux systèmes de production. Vérifiez que les avertissements s'affichent comme prévu et que l'expiration du mot de passe fonctionne correctement.
* Communication utilisateur : Informez les utilisateurs à l'avance de toute modification apportée à la politique d'expiration des mots de passe pour éviter toute frustration et appeler l'assistance.
Exemple de scénario :
Supposons que vous souhaitiez définir la politique de mot de passe suivante pour « user6 » :
* Le mot de passe expire après 60 jours.
* L'utilisateur reçoit un avertissement 7 jours avant l'expiration.
* Le compte devient inactif si le mot de passe n'est pas modifié dans les 3 jours suivant l'expiration.
Voici la séquence de commandes que vous utiliseriez :
```bash
sudo chage -M 60 user6 # Définir l'âge maximum du mot de passe à 60 jours
sudo chage -W 7 user6 # Définir la période d'avertissement sur 7 jours
sudo chage -I 3 user6 # Définir la période d'inactivité sur 3 jours
sudo chage -l user6 # Vérifiez les paramètres
```
N'oubliez pas de toujours vérifier vos paramètres en utilisant `chage -l` après avoir apporté des modifications.
En résumé, `chage` est la commande la plus puissante et la plus flexible pour contrôler l'expiration des mots de passe sous Linux. Comprendre ses options et la manière dont elles interagissent avec d'autres paramètres système est essentiel pour gérer la sécurité des comptes utilisateur.