Guide chage Linux : maîtriser l'expiration des mots de passe

Vue d’ensemble

Le durcissement d’un environnement Linux repose en grande partie sur un contrôle rigoureux du cycle de vie des identifiants et des accès utilisateurs. L’utilitaire standard chage (change age) constitue l’outil de référence pour orchestrer l’obsolescence programmée des mots de passe et le verrouillage automatisé des comptes inactifs. Ce tutoriel pratique détaille la mise en place d’une politique de sécurité complète : de l’audit des paramètres existants jusqu’au renouvellement forcé lors de la première connexion.

1. Mise en place d’un utilisateur de test et audit de l’état initial (chage -l)

Afin d’expérimenter sans impacter les comptes système existants, nous commençons par instancier un profil dédié nommé testuser, pourvu de son répertoire personnel.

Création conditionnelle du compte testuser avec son répertoire home

Attribuons ensuite une séquence secrète temporaire à ce nouvel arrivant via l’outil chpasswd, parfaitement adapté pour alimenter les informations d’authentification sans invite interactive.

Attribution d’un mot de passe initial avec chpasswd

La commande chage interagit directement avec le fichier d’ombres (/etc/shadow) pour ajuster le vieillissement (aging) des authentifiants. L’argument -l offre une vue synthétique des règles actuellement assignées à testuser.

⚙️ [Paramètres fondamentaux de l’utilitaire]

-l : Restitue le rapport d’audit exhaustif sur les échéances et le statut du compte.
-m : Impose un délai minimal (en jours) devant s’écouler avant toute nouvelle modification du secret.
-M : Définit la longévité maximale (en jours) pendant laquelle l’identifiant reste recevable.
-W : Fixe le préavis d’avertissement précédant la fin de validité pour inviter l’usager à renouveler son accès.
-I : Accorde une période de grâce (en jours) post-expiration avant la désactivation définitive de la session.
-E : Détermine une date butoir absolue à compter de laquelle l’accès système est révoqué.
-d : Réinitialise ou force la date d’enregistrement du dernier changement de mot de passe.

Inspection de la configuration par défaut avec chage -l

2. Encadrement des cycles de renouvellement et période d’alerte (-m, -M, -W)

Pour prévenir le contournement des politiques par des changements trop fréquents tout en obligeant à un renouvellement périodique, appliquons un ensemble de directives cohérentes : une rétention incompressible de 7 jours (-m 7), un terme maximal d’exploitation de 90 jours (-M 90) et un signalement préventif initié 14 jours avant l’échéance (-W 14).

Configuration des seuils de rétention et d’alerte via chage

Relançons l’interrogation avec le drapeau -l pour valider la prise en compte immédiate des directives de cycle de vie sur testuser. Le résumé confirme l’application des nouveaux intervalles et calcule automatiquement le calendrier prévisionnel des alertes.

Vérification des délais d’expiration et de préavis appliqués

3. Clôture planifiée du compte et délai de grâce post-expiration (-E, -I)

Dans le cadre d’un contrat temporaire ou d’un audit ponctuel, il convient de programmer la révocation automatique des droits. Configurons la suspension totale du compte au 31 décembre 2026 (-E 2026-12-31) et autorisons une tolérance de 7 jours d’inactivité (-I 7) après dépassement de validité du secret avant gel complet.

Définition de la date butoir du compte et de la tolérance d’inactivité

Une nouvelle vérification à l’aide de l’option -l permet de constater l’enregistrement effectif de ces garde-fous temporels : les mentions Account expires et Password inactive affichent fidèlement les jalons calendaires requis.

Contrôle de la date limite d’accès et du verrouillage post-échéance

4. Renouvellement imposé à la première session et remise en état (-d 0)

Distribuer un mot de passe temporaire représente un risque si l’utilisateur ne le substitue pas immédiatement par une clé personnelle. En écrasant l’horodatage de dernière modification avec la valeur 0 (-d 0), le système conditionnera impérativement l’ouverture de session suivante à une réinitialisation immédiate par le titulaire.

Neutralisation de l’antériorité du mot de passe avec l’option -d 0

L’exécution du diagnostic via -l met en évidence la mention password must be changed au niveau des champs d’historique et d’expiration, attestant que l’accès sera intercepté dès la prochaine tentative d’authentification.

Confirmation de l’obligation de réinitialisation au prochain login

Au terme de cet atelier, supprimons le profil expérimental ainsi que l’ensemble de ses fichiers résiduels grâce à la commande userdel -r pour laisser l’environnement dans son état d’origine.

Suppression complète de l’utilisateur de test et de son arborescence

Vous disposez désormais de tous les automatismes requis pour exploiter le potentiel de chage et structurer les règles de rotation d’identifiants sur vos serveurs Linux, élevant ainsi significativement la posture de sécurité globale de votre infrastructure.