Vous pouvez créer un nouvel utilisateur avec la commande useradd mais si vous avez mal configuré le compte, vous n'avez pas nécessairement besoin de supprimer l'utilisateur. Vous pouvez modifier les paramètres du compte utilisateur avec la commande usermod sous Linux.
L'usermod (abréviation de modification d'utilisateur) vous permet de modifier divers aspects d'un compte d'utilisateur. Vous pouvez modifier le répertoire personnel et le shell de l'utilisateur. Vous pouvez ajouter l'utilisateur à différents groupes ou verrouiller le compte.
8 exemples pratiques de la commande usermod
Étant donné que vous vous occupez de la gestion des comptes d'utilisateurs, vous devez être root ou disposer des droits sudo pour exécuter la commande usermod.
sudo usermod [options] username
Laissez-moi vous montrer quelques exemples.
1. Changer le nom d'utilisateur
Vous pouvez changer le nom d'utilisateur avec l'option -l de la commande usermod :
sudo usermod -l new_username old_username
Gardez à l'esprit qu'à part le nom d'utilisateur, rien d'autre ne change tout seul. Vous devrez modifier manuellement le répertoire personnel et le spool de messagerie.
2. Changer le répertoire personnel de l'utilisateur
Vous pouvez remplacer le répertoire personnel de l'utilisateur par un autre répertoire.
sudo usermod -d new_home_dir user_name
Gardez à l'esprit qu'il modifiera le répertoire personnel même si le répertoire n'existe pas, mais qu'il ne le créera pas tout seul.
Une meilleure façon de changer le répertoire personnel de l'utilisateur est d'utiliser l'option -m avec -d. De cette façon, il créera le nouveau répertoire personnel s'il n'existe pas. En dehors de cela, il déplacera également le contenu de l'ancien répertoire personnel vers le nouveau répertoire personnel avec les autorisations de fichier et la propriété correctes.
sudo usermod -md new_home_dir user_name
Voici un exemple :
[email protected]:~$ sudo usermod -md /home/mynewhome myuser
[email protected]:~$ ls -l /home/mynewhome/
total 12
-rw-r--r-- 1 myuser myuser 8980 Apr 16 2018 examples.desktop
-rw-rw-r-- 1 myuser myuser 0 Jan 17 11:15 morefile.txt
-rw-rw-r-- 1 myuser myuser 0 Jan 17 11:15 myfile.txt
L'ordre de m et d est également important ici.
3. Changer le shell de connexion de l'utilisateur
Vous pouvez également modifier le shell par défaut d'un utilisateur avec la commande usermod. Supposons que vous vouliez changer le shell de connexion en zsh, voici ce que vous pourriez faire :
sudo usermod -s /bin/zsh username
4. Modifier le groupe d'utilisateurs par défaut
Vous pouvez également modifier le groupe par défaut d'un utilisateur. Ceci est particulièrement utile lorsque vous avez modifié le nom d'utilisateur. Ce serait une bonne idée de changer également le groupe d'utilisateurs par défaut.
sudo usermod -g new_default_group_name username
5. Ajouter l'utilisateur à d'autres groupes
C'est peut-être l'utilisation la plus courante de la commande usermod. Si vous souhaitez ajouter un utilisateur à la liste sudoer, tout ce que vous avez à faire est d'ajouter l'utilisateur au groupe sudo.
sudo usermod -aG group_name username
Avez-vous remarqué que j'ai utilisé l'option -aG ici et pas seulement -G. C'est parce que si vous utilisez uniquement l'option -G, cela remplacera les groupes d'utilisateurs par le nouveau groupe que vous avez fourni.
C'est pourquoi vous devez utiliser l'option d'ajout -a afin que l'utilisateur soit ajouté au nouveau groupe en plus et non supprimé de ses groupes précédents.
6. Verrouiller et déverrouiller le compte utilisateur
Vous pouvez verrouiller un compte utilisateur sous Linux avec l'option de commande usermod -L. Un utilisateur verrouillé ne peut pas se connecter au système.
sudo usermod -L username
Vous pouvez également déverrouiller l'utilisateur avec l'option -U :
sudo usermod -U username
7. Définir une date d'expiration pour le compte utilisateur
Supposons qu'un stagiaire rejoigne votre organisation pendant deux mois. Vous devrez supprimer le compte utilisateur une fois le stagiaire parti. Vous pouvez jouer intelligemment ici et définir une date d'expiration pour le compte du stagiaire afin qu'il désactive automatiquement le compte.
Pour définir une date d'expiration pour un compte utilisateur, vous pouvez utiliser l'option -e avec la date au format AAAA-MM-JJ.
sudo usermod -e 2020-04-01 username
8. Changer l'UID d'un utilisateur
Vous pouvez modifier l'UID (ID utilisateur) d'un utilisateur avec l'option -u :
sudo usermod -u UID username
En fin de compte…
Il existe quelques autres options que vous pouvez explorer en vous référant à sa page de manuel.
À mon avis, ce que vous venez de voir sont les exemples les plus courants de la commande usermod. Si vous avez des questions ou des suggestions, faites-le moi savoir.