Dans les distributions UNIX / Linux, la commande usermod est utilisée pour modifier les attributs d’un compte utilisateur déjà créé via la ligne de commande.
Cette commande modifie les fichiers de compte système pour refléter les modifications spécifiées sur la ligne de commande
La commande usermod est similaire dans son fonctionnement useradd ou adduser.
Dans ce tutoriel, je vous montre comment utiliser la commande usermod avec des exemples.
Table des matières
- 1 La syntaxe de la commande usermod
- 2 Comment utiliser la commande usermod avec des exemples
- 2.1 Ajouter des informations au compte d’utilisateur
- 2.2 Modifier le répertoire home de l’utilisateur
- 2.3 Définir la date d’expiration du compte utilisateur
- 2.4 Changer le groupe principal de l’utilisateur
- 2.5 Ajout l’utilisateur à un groupe
- 2.6 Ajouter l’utilisateur à un groupe supplémentaire et principal
- 2.7 Modifier le nom l’utilisateur
- 2.8 Verrouiller le compte d’utilisateur
- 2.9 Déverrouiller le compte d’utilisateur
- 2.10 Créer un mot de passe non chiffré pour l’utilisateur
- 2.11 Modifier le shell utilisateur
- 2.12 Modifier l’ID utilisateur (UID)
- 2.13 Changer UID et GID d’un utilisateur
- 2.14 Modifier l’utilisateur avec plusieurs options
- 3 Liens
La syntaxe de la commande usermod
Voici la syntaxe de la commande :
usermod [options] <utilisateur>
Options | Description |
-C | Nous pouvons ajouter un champ de commentaires pour le UserAccount |
-d | Modifier le répertoire pour tout compte utilisateur existant |
-e | Faire expirer le compte dans une période spécifique |
-g | Modifier le groupe principal pour un utilisateur |
-G | Ajouter un groupe supplémentaire |
-a | Ajouter quiconque du groupe à un groupe secondaire |
-l | Verrouiller le mot de passe d’un utilisateur. Cela met un ‘!’ Devant le mot de passe chiffré, désactivant efficacement le mot de passe |
-L | Verrouiller le compte utilisateur. Cela verra le mot de passe afin que nous ne puissions pas utiliser le compte |
-m | Déplacer le contenu du répertoire home |
-p | Utiliser un mot de passe non chiffré pour le nouveau mot de passe. (Non sécurisé). |
-s | Créer un shell spécifié pour les nouveaux comptes. |
-u | Utilisé à UID attribué pour le compte utilisateur entre 0 et 999. |
-U | Déverrouiller les comptes d’utilisateurs. Cela supprimera le verrouillage du mot de passe et nous permettra d’utiliser le compte d’utilisateur. |
Lorsque nous exécutons la commande usermod dans le terminal, les fichiers suivants sont utilisés et affectés.
- /etc/passwd – Informations sur le compte d’utilisateur
- /etc/shadow – Informations sur le compte sécurisé
- /etc/group – Informations sur les groupes utilisateurs
- /etc/gshadow – Informations sécurisées sur les groupes utilisateurs
- /etc/login.defs – Configuration de la suite des mots de passe cachés « shadow password »
- /etc/subgid – IDs des groupes subalternes d’un utilisateur
Comment utiliser la commande usermod avec des exemples
Ajouter des informations au compte d’utilisateur
L’option -c est utilisée pour définir un bref commentaire (informations) sur le compte utilisateur.
Par exemple pour ajouter un commentaire au compte malekalmorte :
sudo usermod -c "Compte utilisateur de Malekal_morte" malekalmorte
Après avoir ajouté des informations sur l’utilisateur, le même commentaire peut être affiché dans le fichier /etc/passwd.
grep -E --color 'mak' /etc/passwd
mak:x:1000:1000:mak,,,:/home/mak:/bin/bash
Modifier le répertoire home de l’utilisateur
Dans l’étape ci-dessus, nous pouvons voir que notre répertoire home est sous /home/malekalmorte/, si nous devons le changer vers un autre répertoire, nous pouvons le modifier en utilisant l’option -d avec la commande usermod.
Par exemple, je souhaite modifier notre répertoire personnel en /var/www/, mais avant de changer, vérifions le répertoire personnel actuel d’un utilisateur, en utilisant la commande suivante.
grep -E --color '/home/malekalmorte' /etc/passwd
malekalmorte:x:1001:1001:Compte utilisateur de Malekal_morte:/home/malekalmorte:/bin/bash
sudo usermod -d /var/www/ malekalmorte
grep -E --color '/var/www/' /etc/passwd
malekalmorte:x:1001:1001:Compte utilisateur de Malekal_morte:/var/www/:/bin/bash
Définir la date d’expiration du compte utilisateur
L’option -e est utilisée pour définir la date d’expiration sur un compte utilisateur avec le format de date YYYY-MM-DD. Avant, configurant une date d’expiration sur un utilisateur, vérifions d’abord l’état d’expiration du compte actuel à l’aide de la commande chage (modifier les informations d’expiration du mot de passe de l’utilisateur).
sudo chage -l malekalmorte
Le statut d’expiration d’un utilisateur malekalmorte est Jamais, passons le au 1er juin 2022 à l’aide de l’option Usermod -e et confirmez la date d’expiration avec la commande chage.
sudo usermod -e 2022-06-01 malekalmorte
sudo chage -l malekalmorte
Changer le groupe principal de l’utilisateur
Pour définir ou modifier le groupe utilisateur principal, utilisez l’option -g de la commande usermod.
Avant de modifier le groupe principal de l’utilisateur, assurez-vous d’abord de vérifier le groupe actuel pour l’utilisateur avec la commande id :
id malekalmorte
sudo usermod -g mak malekalmorte
id malekalmorte
Ajout l’utilisateur à un groupe
Si vous souhaitez ajouter un nouveau groupe appelé malekalmorte_test à malekalmorte, vous pouvez utiliser l’option -G comme dans l’exemple ci-dessous.
sudo usermod -G malekalmorte_test malekalmorte
id malekalmorte
Ajouter l’utilisateur à un groupe supplémentaire et principal
Si vous devez ajouter un utilisateur à l’un groupe supplémentaire, vous pouvez utiliser les options -a et -g.
sudo usermod -a -G adm malekalmorte
id malekalmorte
Modifier le nom l’utilisateur
Pour modifier le nom de connexion d’un utilisateur existant, nous pouvons utiliser l’option -l (new login).
Dans l’exemple ci-dessous, nous changeons le nom de connexion malekalmorte en malekalmorte_admin.
sudo usermod -l malekalmorte malekalmorte_admin
Vérifiez que l’ancien nom d’utilisateur a disparu :
id malekalmorte
Et que le nouveau est bien présent :
id malekalmorte_admin
Verrouiller le compte d’utilisateur
Pour verrouiller n’importe quel compte d’utilisateur du système, nous pouvons utiliser l’option -L (Lock).
Une fois le compte verrouillé, nous ne pouvons pas nous connecter en utilisant le mot de passe et vous verrez un ! ajouté avant le mot de passe chiffré dans le fichier /etc/shadow, signifie que le mot de passe est désactivé.
sudo usermod -L malekalmorte
Pour vérifier le statut d’un compte utilisateur Linux :
sudo grep -E --color 'malekalmorte' /etc/shadow
Déverrouiller le compte d’utilisateur
L’option -U est utilisée pour déverrouiller tout utilisateur verrouillé, cela supprimera le ! avant le mot de passe chiffré.
sudo usermod -U malekalmorte
Puis pour s’assurer que le compte utilisateur est bien déverrouillé :
sudo grep -E --color 'malekalmorte' /etc/shadow
Créer un mot de passe non chiffré pour l’utilisateur
Par défaut et pour des raisons de sécurité, le mot de passe est stockée de manière chiffrée dans le fichier /etc/shadow.
Pour créer un mot de passe non chiffré, nous utilisons l’option -p (password).
usermod -p <mot de passe> <nom d'utilisateur>
Dans cet exemple, je définis un nouveau mot de passe “vivemalekal-com” sur un utilisateur malekalmorte :
sudo usermod -p vivemalekal-com malekalmorte
Pour vérifier la prise en compte de la modification du mot de passe :
sudo grep -E --color 'malekalmorte' /etc/shadow
Notez qu’il reste possible de changer le mot de passe de l’utilisateur avec usermod, bien qu’il est plutôt conseillé d’utiliser la commande passwd.
Vous pouvez faire cela via la commande openssl (à installer) :
sudo usermod -p `openssl mot-de-passe`
Modifier le shell utilisateur
Le shell de connexion de l’utilisateur peut être modifié ou défini lors de la création de l’utilisateur avec la commande useradd ou modifié avec la commande usermod en utilisant l’option -s (shell).
Par exemple, l’utilisateur malekalmorte a le shell /bin/bash par défaut, maintenant je veux le changer en /bin/sh.
sudo usermod -s /bin/sh malekalmorte
Modifier l’ID utilisateur (UID)
Dans l’exemple ci-dessous, vous pouvez voir que mon compte d’utilisateur malekalmorte possède l’UID de 502, maintenant je veux le changer en 888 comme mon UID.
Nous pouvons attribuer un UID entre 0 et 999.
Maintenant, changeons l’UID pour l’utilisateur babin en utilisant l’option ‘-u’ (uid) et vérifions les changements.
sudo usermod -u 1200 malekalmorte
Changer UID et GID d’un utilisateur
Nous pouvons changer l’UID et le GID d’un utilisateur actuel. Pour passer à un nouveau GID, nous avons besoin d’un groupe existant. Ici, il existe déjà un compte nommé orange avec GID de 777.
Maintenant, mon compte d’utilisateur malekalmorte veut se voir attribuer l’UID de 666 et le GID d’Orange (777).
sudo usermod -u 1200 -g 777 malekalmorte
Puis pour vérifier la prise en compte :
id malekalmorte
Modifier l’utilisateur avec plusieurs options
Ici, nous avons une prise utilisateur et maintenant je veux modifier son répertoire personnel, son shell, sa date d’expiration, son étiquette, son UID et son groupe à la fois en utilisant une seule commande avec toutes les options comme nous l’avons vu ci-dessus.
L’utilisateur malekalmorte a le répertoire d’accueil par défaut /home/malekalmorte, maintenant je veux le changer en /var/www/html et assigner son shell comme bash, fixer la date d’expiration au 10 décembre 2022, ajouter une nouvelle étiquette comme Ceci est malekalmorte, changer UID à 555 et il sera membre du groupe Apple.
usermod -d /var/malekalmorte/ -s /bin/bash -e 2022-12-10 -c "Le compte de malekalmorte" -u 555 -aG apple malekalmorte
Liens
- Le fonctionnement des utilisateurs et groupes sur Linux
- Gérer les utilisateurs/groupes sur Linux en ligne de commandes (adduser, addgroup, usermod, passwd, …)
- Le fichier /etc/group dans Linux
- Le fichier /etc/passwd dans Linux
- Comment utiliser la commande passwd de Linux avec des exemples
- La commande useradd : utilisations et exemples
- Utilisateur et groupes Ubuntu : comment ajouter, supprimer
- Ubuntu : comment passer un utilisateur en administrateur
- Comment lister les utilisateurs de Linux
- Comment lister les groupes dans Linux
- Comment utiliser la commande su avec des exemples sur Linux
- sudo : comment utiliser le configurer sudoers sur Linux (Debian, Ubuntu, Mint …)
- Comment ajouter un utilisateur à sudo (sudoers) dans Ubuntu ou Debian
- Comment utiliser la commande su avec des exemples sur Linux
- Qu’est-ce que /etc/shadow et son rôle