Сommande usermod

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!