Gestion des comptes utilisateur, mots de passe expirés, verrouillage et déverrouillage sur un système Linux hardené.
👤 Informations compte
📋 Voir l’état complet d’un compte
sudo chage -l nomducompte
✅ Vérifier le statut du mot de passe
sudo passwd -S nomducompte
# "LK" = locked, "P" = actif, "NP" = pas de mot de passe
⚙️ Consulter les stratégies système
sudo cat /etc/login.defs
# Paramètres importants :
# PASS_MAX_DAYS 90 # Durée max mot de passe
# PASS_MIN_DAYS 1 # Délai min entre changements
# PASS_WARN_AGE 7 # Avertissement avant expiration
🔒 Verrouillage des comptes
Deux types de verrouillage :
🔒 Lock via passwd -l
(manuel)
- Ajoute un ”!” devant le hash dans
/etc/shadow
- L’utilisateur ne peut plus se connecter avec son mot de passe
- Verrouillage permanent jusqu’au déverrouillage manuel
⚠️ Lock via faillock
(automatique)
- Surveille les tentatives de connexion ratées
- Verrouillage temporaire après plusieurs échecs
- Protection contre les attaques par bruteforce
🛠️ Gestion des verrouillages
🔒 Verrouiller/Déverrouiller un utilisateur
# Verrouiller
sudo passwd -l nomducompte
# Déverrouiller
sudo passwd -u nomducompte
❗ Gérer les échecs de connexion (faillock)
# Voir les échecs d'un utilisateur
sudo faillock --user nomducompte
# Réinitialiser les échecs (déverrouiller)
sudo faillock --user nomducompte --reset
# Voir tous les utilisateurs avec des échecs
sudo faillock
⚙️ Configuration faillock
📜 Configuration système
# Voir la configuration
sudo cat /etc/security/faillock.conf
Paramètres principaux :
audit # Active les logs d'audit
silent # Messages discrets côté client
deny = 3 # Verrouillage après 3 échecs
fail_interval = 900 # Fenêtre de temps (15 min)
unlock_time = 0 # Pas de déverrouillage automatique (0 = manuel)
⏰ Gestion de l’expiration
🔧 Modifier les paramètres d’expiration
# Expiration à 90 jours, avertissement 7 jours avant
sudo chage -M 90 -W 7 nomducompte
# Forcer le changement au prochain login
sudo chage -d 0 nomducompte
# Désactiver l'expiration
sudo chage -M -1 nomducompte
Paramètres utiles :
-M
: Durée max du mot de passe (jours)-W
: Avertissement avant expiration (jours)-I
: Délai d’inactivité avant verrouillage (jours)-E
: Date d’expiration du compte
📜 Logs et surveillance
🔍 Consulter les logs de connexion
# Logs d'authentification
sudo cat /var/log/auth.log | grep nomducompte
# Logs récents
sudo tail -f /var/log/auth.log
# Rechercher les échecs de connexion
sudo grep "Failed password" /var/log/auth.log
📊 Dernières connexions
# Dernières connexions réussies
last nomducompte
# Tentatives de connexion échouées
lastb nomducompte
🚨 Diagnostic rapide
🔍 Compte verrouillé ? Checklist :
# 1. Vérifier si passwd est locké
sudo passwd -S nomducompte
# 2. Vérifier les échecs faillock
sudo faillock --user nomducompte
# 3. Vérifier l'expiration
sudo chage -l nomducompte
# 4. Voir les derniers logs
sudo grep nomducompte /var/log/auth.log | tail -5
🔧 Déverrouillage complet
# Déverrouiller passwd + réinitialiser faillock
sudo passwd -u nomducompte && sudo faillock --user nomducompte --reset