usermod
est un utilitaire de ligne de commande qui vous permet de modifier les informations de connexion d'un utilisateur.
Cet article explique comment utiliser le usermod
commande pour ajouter un utilisateur à un groupe, modifier un shell utilisateur, un nom de connexion, un répertoire personnel, etc.
usermod
Commande #
La syntaxe du usermod
commande prend la forme suivante :
usermod [options] USER
Uniquement root ou utilisateurs avec sudo
l'accès peut invoquer usermod
et modifier un compte utilisateur. En cas de succès, la commande n'affiche aucune sortie.
Ajouter un utilisateur à un groupe #
Le cas d'utilisation le plus typique du usermod
ajoute un utilisateur à un groupe.
Pour ajouter un utilisateur existant à un groupe secondaire, utilisez le -a -G
les options suivaient le nom du groupe et le nom d'utilisateur :
usermod -a -G GROUP USER
Si vous souhaitez ajouter l'utilisateur à plusieurs groupes à la fois, spécifiez les groupes après le -G
option séparée par ,
(virgules) sans espace intermédiaire.
Par exemple, pour ajouter l'utilisateur linuxize
aux games
groupe, vous exécuterez la commande suivante :
sudo usermod -a -G games linuxize
Utilisez toujours le -a
(ajouter) lors de l'ajout d'un utilisateur à un nouveau groupe. Si vous omettez le -a
option, l'utilisateur sera supprimé des groupes non répertoriés après le -G
option.
Si l'utilisateur ou le groupe n'existe pas, la commande vous avertira.
Modifier le numéro de groupe principal de l'utilisateur
Pour changer le groupe principal d'un utilisateur, invoquez le usermod
commande avec le -g
suivi du nom du groupe et du nom d'utilisateur :
sudo usermod -g GROUP USER
Dans l'exemple suivant, nous modifions le groupe principal de l'utilisateur linuxize
aux developers
:
usermod -g developers linuxize
Chaque utilisateur peut appartenir à exactement un groupe principal et zéro ou plusieurs groupes secondaires.
Modification des informations utilisateur #
Pour modifier les informations GECOS (le nom complet de l'utilisateur), exécutez la commande avec le -c
suivi du nouveau commentaire et du nom d'utilisateur :
usermod -c "GECOS Comment" USER
Voici un exemple montrant comment ajouter des informations supplémentaires à l'utilisateur linuxize :
usermod -c "Test User" linuxize
Ces informations sont stockées dans le /etc/passwd
fichier.
Modification du répertoire d'accueil d'un utilisateur #
Sur la plupart des systèmes Linux, les répertoires personnels des utilisateurs sont nommés d'après le nom de l'utilisateur et créés sous le /home
répertoire.
Si, pour une raison quelconque, vous souhaitez modifier le répertoire personnel de l'utilisateur, appelez le usermod
commande avec le -d
suivi du chemin absolu du nouveau répertoire personnel et du nom de l'utilisateur :
usermod -d HOME_DIR USER
Par défaut, la commande ne déplace pas le contenu du répertoire personnel de l'utilisateur vers le nouveau. Pour déplacer le contenu, utilisez le -m
option. Si le nouveau répertoire n'existe pas déjà, il est créé :
usermod -d HOME_DIR -m USER
Voici un exemple montrant comment changer le répertoire personnel de l'utilisateur www-data
vers /var/www
:
usermod -d /var/www www-data
Modification d'un numéro de shell par défaut pour l'utilisateur
Le shell par défaut est celui qui s'exécute une fois que vous vous êtes connecté au système. Par défaut, sur la plupart des systèmes Linux, le shell par défaut est défini sur Bash Shell.
Pour changer le shell par défaut de l'utilisateur, exécutez la commande avec le -s
suivi du chemin absolu du shell et du nom de l'utilisateur :
usermod -s SHELL USER
Dans l'exemple ci-dessous, nous changeons le shell utilisateur en Zsh :
sudo usermod -s /usr/bin/zsh linuxize
Vous pouvez savoir quels shells sont disponibles sur votre système en affichant le /etc/shells
contenu du fichier.
Modification d'un UID d'utilisateur #
L'UID (l'identifiant de l'utilisateur) est un numéro attribué à chaque utilisateur. Il est utilisé par le système d'exploitation pour désigner un utilisateur.
Pour changer l'UID de l'utilisateur, appelez la commande avec le -u
suivie du nouvel UID et du nom d'utilisateur :
usermod -u UID USER
L'exemple ci-dessous montre comment changer le numéro "UID" en "1050":
sudo usermod -u 1050 linuxize
L'UID des fichiers appartenant à l'utilisateur et situés dans le répertoire personnel de l'utilisateur, ainsi que le fichier de boîte aux lettres de l'utilisateur seront modifiés automatiquement. La propriété de tous les autres fichiers doit être modifiée manuellement.
Changer un nom d'utilisateur #
Bien que cela ne soit pas très fréquent, vous souhaiterez parfois modifier le nom d'un utilisateur existant. Le -l
l'option est utilisée pour changer le nom d'utilisateur :
usermod -l NEW_USER USER
Dans l'exemple ci-dessous, nous renommons l'utilisateur linuxize
à lisa
à "1050":
sudo usermod -l linuxize lisa
Lorsque vous modifiez le nom d'utilisateur, vous pouvez également modifier le répertoire personnel de l'utilisateur pour refléter le nouveau nom d'utilisateur.
Définir une date d'expiration d'utilisateur #
La date d'expiration est la date à laquelle le compte utilisateur sera désactivé. Pour définir la date d'expiration de l'utilisateur, utilisez le -e
choix :
sudo usermod -e DATE USER
La date d'expiration doit être définie au format YYYY-MM-DD
.
Par exemple, pour désactiver l'utilisateur linuxize
le 2022-02-21
, vous exécuterez la commande suivante :
sudo usermod -e "2022-02-21" linuxize
Pour désactiver l'expiration d'un compte, définissez une date d'expiration vide :
sudo usermod -e "" linuxize
Utilisez le chage -l
commande pour afficher la date d'expiration de l'utilisateur :
sudo chage -l linuxize
Last password change : Jul 24, 2018
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
La date d'expiration est stockée dans le /etc/shadow
fichier.
Verrouiller et déverrouiller un compte utilisateur #
Le -L
option permet de verrouiller un compte utilisateur :
usermod -L USER
Les commandes inséreront un point d'exclamation (!
) devant le mot de passe crypté. Lorsque le champ mot de passe dans /etc/shadow
contient un point d'exclamation, l'utilisateur ne pourra pas se connecter au système à l'aide de l'authentification par mot de passe. D'autres méthodes de connexion, telles que l'authentification par clé ou le passage à l'utilisateur, sont toujours autorisées. Si vous souhaitez verrouiller le compte et désactiver toutes les méthodes de connexion, vous devez également définir la date d'expiration sur 1.
Les exemples suivants montrent comment verrouiller l'utilisateur linuxize
:
sudo usermod -L linuxize
sudo usermod -L -e 1 linuxize
Pour déverrouiller un utilisateur, exécutez usermod
avec le -U
choix :
usermod -U USER
Conclusion #
Nous vous avons montré comment utiliser le usermod
commande pour définir les informations de compte d'utilisateur.
N'hésitez pas à laisser un commentaire si vous avez des questions.