Dans le monde des systèmes Unix et Linux, la gestion des utilisateurs est une tâche essentielle. Après avoir exploré la commande useradd pour créer de nouveaux utilisateurs, il est tout aussi important de savoir comment modifier ces comptes une fois créés. La commande usermod est l’outil dédié à cette tâche, permettant d’ajuster divers paramètres des comptes utilisateurs existants. Ce tutoriel vous guidera à travers les fonctionnalités de base et avancées de usermod, en mettant l’accent sur les options couramment utilisées et les meilleures pratiques.
Pour la démonstration, j’utilise Debian 12 et j’ai créé un utilisateur testuser.
Syntaxe de base
La commande usermod est disponible sur tous les systèmes d’exploitation Linux et s’utilise comme suit :
usermod [options] nom_utilisateur
Les options permettent de personnaliser les modifications apportées au compte utilisateur. Voici quelques-unes des options les plus couramment utilisées :
-c : Modifie le champ commentaire de l’utilisateur (souvent utilisé pour inclure des informations comme le nom complet de l’utilisateur).
-d : Change le répertoire personnel de l’utilisateur.
-e : Définit la date d’expiration du compte (format AAAA-MM-JJ).
-g : Change le groupe principal de l’utilisateur.
-G : Assigne l’utilisateur à des groupes supplémentaires.
-l : Change le nom de connexion de l’utilisateur.
-L : Verrouille le mot de passe de l’utilisateur, empêchant la connexion.
-s : Change la shell par défaut de l’utilisateur.
-U : Déverrouille le mot de passe de l’utilisateur.
Examples utilisation usermod
Modifier le répertoire personnel
Pour changer le répertoire personnel d’un utilisateur, utilisez l’option -d :
sudo usermod -d /nouveau/chemin/du/repertoire utilisateur
Par exemple :
sudo usermod -d /home/nouveau_testuser testuser
Si vous souhaitez également déplacer le contenu de l’ancien répertoire vers le nouveau, ajoutez l’option –m :
sudo usermod -d /nouveau/chemin/du/repertoire -m utilisateur
Par exemple :
sudo usermod -d /home/nouveau_testuser -m testuser
Changer le groupe principal
Pour modifier le groupe principal d’un utilisateur, utilisez l’option -g :
sudo usermod -g nouveau_groupe utilisateur
Définir une date d’expiration
Pour définir une date d’expiration, utilisez l’option -e :
sudo usermod -e date utilisateur
Par exemple pour l’utilisateur “testuser” :
sudo usermod -e 2025-12-31 testuser
Pour verifier:
sudo chage -l testuser
Pour annuler une date d’expiration définie pour un compte utilisateur, vous pouvez utiliser la commande suivante :
sudo usermod -e "" nom_utilisateur
Exemple avec testuser :
sudo usermod -e "" testuser
L’option -e avec une chaîne vide (“”) supprime toute date d’expiration définie pour le compte utilisateur.
Une fois cette commande exécutée, le compte ne sera plus limité par une date d’expiration et restera actif indéfiniment.
Pour verifier:
sudo chage -l testuser
Ajouter l’utilisateur à des groupes supplémentaires
Pour ajouter un utilisateur à des groupes supplémentaires sans affecter son appartenance aux autres groupes, utilisez l’option -aG :
sudo usermod -aG groupe1,groupe2 utilisateur
Par exemple, pour accorder à “testuser” les privilèges sudo, ajoutez-le au groupe sudo :
sudo usermod -aG sudo testuser
Après cette modification, l’utilisateur pourra exécuter des commandes avec des privilèges élevés en utilisant sudo.
Attention : L’option -a (append) doit être utilisée en combinaison avec -G. Sinon, l’utilisateur sera retiré des groupes non spécifiés.
Verrouiller et déverrouiller le mot de passe d’un utilisateur
Pour verrouiller le mot de passe d’un utilisateur, empêchant ainsi toute connexion :
sudo usermod -L utilisateur
Par exemple :
sudo usermod -L testuser
Pour vérifier :
sudo passwd -S testuser
L : Indique que le mot de passe est locked (verrouillé). Cependant, cela ne bloque pas d’autres méthodes d’accès, comme les clés SSH.
Pour déverrouiller le mot de passe de l’utilisateur :
sudo usermod -U utilisateur
Par exemple :
sudo usermod -U testuser
Pour vérifier :
sudo passwd -S testuser
P (Password set) signifie que le mot de passe pour le compte utilisateur testuser est défini et actif. L’utilisateur peut se connecter au système en utilisant ce mot de passe.
La commande usermod est un outil puissant pour les administrateurs systèmes, offrant une flexibilité dans la gestion et la modification des comptes utilisateurs. En maîtrisant ses options, vous pouvez adapter les paramètres des utilisateurs selon les besoins spécifiques de votre environnement.
Bonne chance!