La commande usermod est un outil essentiel pour les administrateurs système qui souhaitent gérer les comptes utilisateurs sous Linux. Elle permet aux utilisateurs de modifier les autorisations, de changer de groupe, de configurer le répertoire personnel et même de désactiver des comptes si nécessaire. Cette flexibilité fait de usermod un choix idéal pour un contrôle total de l'environnement de travail et la sécurité du système. Grâce à quelques applications pratiques, elle simplifie de nombreuses tâches qui peuvent paraître complexes aux débutants, ce qui en fait un outil indispensable pour quiconque gère quotidiennement les utilisateurs Linux.
La commande usermod permet de mettre à jour les informations d'un compte utilisateur existant sur votre système. Elle est similaire à la modification du profil d'un utilisateur Linux. Elle vous permet de modifier tout, du nom d'utilisateur à l'interface de connexion, sans avoir à supprimer ni recréer le compte.
Table des Matières
cabillot8. Mettre à jour les informations utilisateur
Si vous souhaitez uniquement modifier les informations générales de l'utilisateur, comme la description du compte (également appelée « champ de commentaires »), vous pouvez utiliser l'option -c. Ce champ est souvent utilisé pour des informations telles que le nom complet de l'utilisateur, son service ou une brève description. Voici un exemple :
sudo usermod -c "Utilisateur de test HTG" htg
L'option -c concerne le champ de commentaire. Tout ce que vous mettez entre guillemets apparaîtra dans « /etc/passwd ». Après l'exécution, vous pouvez vérifier la réussite de la mise à jour en consultant le fichier « /etc/passwd » :
grep htg /etc/passwd
Notez la mention « HTG Test User » dans le cinquième champ. Il s'agit de la description que nous venons d'ajouter. Ce champ est parfois utilisé par les gestionnaires d'affichage ou les utilitaires comme Finger. Il est utile sur les serveurs multi-utilisateurs, où l'identité d'un utilisateur spécifique peut être oubliée.
7. Changer le nom d'utilisateur
Il peut être nécessaire de modifier le nom d'utilisateur d'un utilisateur. Ce nom d'utilisateur est peut-être temporaire, ou vous souhaitez simplement standardiser les conventions de nommage. La commande usermod vous permet de le faire sans avoir à supprimer et recréer le compte. Voici comment remplacer notre exemple de nom d'utilisateur « htg » par « howtogeek » :
sudo usermod -l howtogeek htg
Le symbole -l (L minuscule) indique le nom d'utilisateur du compte. Ce symbole indique à usermod que vous souhaitez modifier le nom d'utilisateur du compte. Soyez attentif à la syntaxe. Vous devez d'abord saisir le nouveau nom d'utilisateur, puis le nom d'utilisateur actuel de l'utilisateur dont vous souhaitez modifier le nom.
Après avoir exécuté cette commande, le compte utilise désormais « howtogeek » comme nom de connexion. Vous pouvez vérifier la modification en consultant à nouveau le fichier « /etc/passwd » :
grep howtogeek /etc/passwd
Sachez également que la modification du nom de connexion Entrée ne renomme pas automatiquement le répertoire personnel de l'utilisateur. Ainsi, dans cet exemple, le répertoire personnel de l'utilisateur sera toujours « /home/htg », sauf si vous le modifiez explicitement (voir plus loin). Avant d'exécuter la commande, assurez-vous que l'utilisateur est déconnecté afin d'éviter toute erreur ou comportement inattendu.
6. Modifier les identifiants d'utilisateur
Chaque utilisateur d'un système Linux est identifié non seulement par un nom d'utilisateur, mais aussi par un identifiant utilisateur (UID). L'UID est utilisé par le système pour vérifier la propriété et les autorisations des fichiers. En général, il n'est pas nécessaire de modifier les UID, mais cela peut s'avérer nécessaire dans certains cas, par exemple lors du transfert d'utilisateurs entre systèmes tout en conservant la propriété des fichiers, ou pour résoudre des conflits lorsque deux utilisateurs ont accidentellement le même UID.
Voici comment modifier l'UID de notre exemple d'utilisateur « htg » de actuel à 1500 XNUMX :
sudo usermod -u 1500 htg
L'option -u attribue un nouvel identifiant à l'utilisateur. Nous lui transmettons ensuite ce nouvel identifiant. Assurez-vous qu'il est unique sur le système. Après avoir modifié l'identifiant, confirmez-le en exécutant la commande suivante :
je suis htg


Après avoir modifié l’UID « htg », le fichier dans son dossier personnel a été mis à jour avec le nouvel UID.
5. Définir ou réinitialiser le mot de passe utilisateur
Modifier le mot de passe d'un utilisateur est l'une des tâches administratives les plus courantes. La commande passwd est généralement utilisée pour cela, mais il est intéressant de noter que la commande usermod permet également de gérer les modifications liées aux mots de passe.
Mais il y a un hic : la commande usermod ne chiffre pas le mot de passe. Cela signifie qu'il sera enregistré en clair dans le fichier « /etc/shadow ». Voici la syntaxe générale :
sudo usermod -p mot de passe htg
Vous pouvez jeter un œil au fichier « /etc/shadow » pour confirmer que le mot de passe a été modifié.
sudo grep htg /etc/shadow
Comme vous pouvez le constater, le mot de passe a été modifié, mais il peut être affiché en clair. Cela présente un risque. Cela peut s'avérer utile dans certains cas particuliers, lors de l'écriture d'un script, où vous pourriez avoir besoin d'utiliser des mots de passe prédéfinis. Dans la plupart des autres cas, passwd est la meilleure option pour modifier le mot de passe d'un utilisateur.
4. Redéfinir le répertoire personnel de l'utilisateur
Par défaut, lorsque vous créez un utilisateur, son répertoire personnel se trouve sous « /home/username ». Mais que faire si vous souhaitez déplacer ce répertoire, par exemple sur un autre disque ? Ou si vous avez renommé l'utilisateur et souhaitez que le répertoire personnel corresponde ? C'est là qu'intervient l'option -d de la commande usermod.
sudo usermod -d /home/howtogeek htg
L'option -d spécifie un nouveau chemin vers le répertoire personnel de l'utilisateur. Après avoir exécuté cette option, Linux reconnaîtra « /home/howtogeek » comme répertoire personnel de l'utilisateur. Mais le point important : aucun fichier n'est déplacé ; la référence est simplement modifiée. Si « /home/howtogeek » n'existe pas, le répertoire personnel sera vide (voire inexistant).
Si vous souhaitez déplacer des fichiers de l'ancien répertoire personnel vers le nouveau, ajoutez l'option -m :
sudo usermod -d /home/howtogeek -m htg
Usermod va maintenant déplacer tout de « /home/htg » vers « /home/howtogeek ». Ceci est particulièrement utile pour renommer les utilisateurs afin que leur répertoire personnel corresponde au nouveau nom d'enregistrement Entrée. Après le déplacement, il est recommandé de lister le répertoire et de vérifier que tout est complet :
ls -la /home/howtogeek
Si vous pouvez voir les fichiers de l'utilisateur, le processus a réussi.
3. Définition des groupes d'utilisateurs
Sous Linux, les groupes permettent d'organiser les utilisateurs et de contrôler leur accès aux fichiers, dossiers et services. Chaque utilisateur appartient à au moins un groupe principal et peut également rejoindre plusieurs groupes supplémentaires (ou secondaires). La commande usermod permet de modifier les groupes principal et secondaire, ainsi que d'ajouter ou de supprimer des utilisateurs de groupes existants.
Le groupe principal est généralement créé en même temps que le compte utilisateur et possède le même nom d'utilisateur. Vous pouvez le modifier avec l'option -g.
sudo usermod -g développeurs htg
Désormais, lorsque htg crée un fichier, celui-ci appartient au groupe de développeurs (au lieu de son ancien groupe principal). La plupart du temps, vous souhaiterez ajouter des utilisateurs à des groupes supplémentaires afin qu'ils puissent accéder à certaines ressources (sudo, par exemple).
sudo usermod -aG sudo htg
sudo usermod -G sudo htg
Désormais, « htg » n'existe que dans le groupe sudo (outre son groupe parent). Soyez donc prudent lorsque vous l'utilisez, car il pourrait accidentellement priver quelqu'un de privilèges importants.
Il n'existe aucun moyen de supprimer un utilisateur d'un groupe avec usermod. Cependant, vous pouvez spécifier les groupes auxquels l'utilisateur doit appartenir. Par exemple, supposons que « htg » soit membre des groupes Employé, Administrateur et Informatique. Vous souhaitez supprimer l'utilisateur du groupe Administrateur. Pour cela, exécutez :
sudo usermod -G employé,IT htg
Désormais, « htg » est hors du groupe d’administration, mais fait toujours partie des départements RH et informatique.
2. Configurer l'interface utilisateur
À chaque connexion, Linux lance un shell, l'environnement de ligne de commande par lequel il interagit avec le système. Le shell par défaut est généralement « /bin/bash », mais il existe de nombreux autres shells, tels que « /bin/zsh » et « /bin/sh », voire des shells spécialisés et restreints.
Grâce à usermod, vous pouvez modifier l'interface qui se lance lorsqu'un utilisateur se connecte. Voici un exemple où nous modifions l'interface utilisateur « htg » en Zsh :
sudo usermod -s /bin/zsh htg
L'option -s spécifie l'interface de connexion de l'utilisateur. Nous transmettons ensuite le chemin d'accès à l'interface à attribuer à l'utilisateur. Désormais, lorsque l'utilisateur « htg » se connectera, il sera reçu par Zsh plutôt que par Bash. Si vous ne connaissez pas les chemins d'accès disponibles aux différentes interfaces utilisateur de votre système, essayez d'exécuter la commande suivante :
chat / etc / shells
Ceci affiche la liste des interfaces disponibles avec leurs chemins d'accès. Après avoir modifié l'interface par défaut, vous pouvez vérifier la réussite du processus en exécutant la commande suivante :
getent passwd htg
Comme vous pouvez le constater, l'interface utilisateur par défaut de « htg » a été remplacée par Zsh, au lieu de Bash. Ceci est utile si vous souhaitez restreindre l'activité des utilisateurs en utilisant une interface utilisateur moins puissante.
1. Verrouiller et déverrouiller les comptes utilisateurs
Parfois, vous ne souhaitez pas supprimer un utilisateur, mais l'empêcher de se connecter. Il est peut-être en vacances, il a quitté l'entreprise mais vous devez conserver ses fichiers, ou vous effectuez une résolution de problème. C'est là qu'intervient le verrouillage de compte. Avec usermod, vous pouvez rapidement verrouiller ou déverrouiller le mot de passe du compte.
Pour verrouiller le compte utilisateur « htg », je vais exécuter la commande suivante :
sudo usermod -L htg
L'option -L verrouille le compte. Elle fonctionne en ajoutant un point d'exclamation (!) avant le mot de passe chiffré dans « /etc/shadow ». Après cela, l'utilisateur « htg » ne pourra plus se connecter avec ce mot de passe. Pour récupérer l'accès, exécutez la commande suivante :
sudo usermod -U htg
L'option -U déverrouille le compte en supprimant le ! devant le hachage du mot de passe.
Le verrouillage n'affecte que les connexions Entrée avec mot de passe. Si l'utilisateur a configuré des clés SSH, il pourra toujours se connecter avec, sauf si vous prenez des mesures supplémentaires. En cas de suspension temporaire, vous pouvez combiner usermod avec les dates d'expiration du compte. Par exemple :
sudo usermod -e 2025-09-30 htg
Après le 30 septembre 2025, votre compte sera automatiquement désactivé.
Que vous soyez administrateur système ou que vous souhaitiez gérer des utilisateurs Linux, ces conseils vous seront utiles. Il existe de nombreuses autres astuces Linux pour gagner du temps. Vous pouvez également explorer d'autres commandes, comme la commande nc.
Maîtriser la commande usermod vous offre une grande flexibilité pour gérer les utilisateurs Linux et améliorer le contrôle du système. Bien que son utilisation puisse paraître simple, ses résultats sont cruciaux, tant en termes de sécurité que d'organisation. Pour gérer efficacement les comptes utilisateurs, usermod restera un outil essentiel.










