Comment ajouter, modifier et supprimer un utilisateur sous Linux ?

La gestion des utilisateurs dans tout système d'exploitation est l'une des tâches de routine de base d'un administrateur système.
Pour un système d'exploitation basé sur Linux, il est généralementally implique la création de comptes d'utilisateurs, la modification de comptes existants, comme la modification de leur répertoire personnel, de leur shell par défaut, le verrouillage/déverrouillage d'un ou plusieurs comptes et la suppression de comptes d'utilisateurs.
Avant d'enquêterate les commandes et processPour effectuer ces tâches, examinons brièvement comment les comptes d'utilisateurs peuvent être classés sous Linux. Notez également que, sauf indication contraire explicite, les commandes données fonctionneront dans la plupart des distributions Linux courantes.
Types d'utilisateurs
Utilisateur racine
La root
L'utilisateur est l'administrateur du système d'exploitation avec toutes les autorisations nécessaires pour effectuer des opérations. Usually, seulement root
peut installer/désinstaller ou mettre à jourate programmes système et bibliothèques de base. Il s'agit du seul compte utilisateur doté de privilèges à l'échelle du système.
Ainsi, l'utilisateur root est l'utilisateur le plus puissant du système.
Utilisateur spécial
Ce sont les utilisateurs sans login. Ils n'ont pas tous les privilèges du root
utilisateur. Selon les comptes, ils assument des rôles spécialisés différents.
Ce sont des créationsated automatiqueally lors de toute installation d’application. bin
, sync
, lp
, mail
, operator
, squid
sont quelques exemples d'utilisateurs spéciaux.
Utilisateurs communs
Les utilisateurs communs disposent de tous les privilèges uniquement dans leur répertoire de travail, généralementally leur répertoire personnel. Ils n'ont pas les privilèges nécessaires pour gérer le système ou installer le logiciel. Ils ne peuvent pas effectuer ces tâches sans bénéficier de privilèges spéciaux via sudo
.
Ajout d'un utilisateur
Debian / Ubuntu
Sur un système basé sur Debian ou Ubuntu, il existe plusieurs options pour ajouter des utilisateurs à partir de la CLI. La première commande est adduser
, qui est un script Perl et utilise useradd
commande dans le backend dont nous verrons l'utilisation later.
Étant donné que l'ajout d'un utilisateur est une tâche privilégiée, vous devrez utiliser sudo
comme préfixe et username
comme argument. D'autres détails peuvent être spécifiés lorsque vous y êtes invité. À l'exception du nom d'utilisateur et du mot de passe, le reste des détails est facultatif. Nous pouvons vérifier que l'utilisateur a été crééated en utilisant id
commander.
$ sudo adduser johndoe
Adding user `johndoe' ...
Adding new group `johndoe' (1003) ...
Adding new user `johndoe' (1003) with group `johndoe' ...
Creating home directory `/home/johndoe' ...
Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for johndoe
Enter the new value, or press ENTER for the default
Full Name []: John Doe
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y
$
$ id johndoe
uid=1003(johndoe) gid=1003(johndoe) groups=1003(johndoe)
$
CentOS/RHEL/Fedora (y compris Debian/Ubuntu)
La prochaine commande, useradd
fonctionnera sur les distributions de système d'exploitation basées sur RHEL ainsi que sur les équipements de travailally bien sur les hôtes Ubuntu/Debian. La syntaxe la plus simple (sans aucun extra options) pour créerate un nouvel utilisateur est :
$ sudo useradd <username>
Mise en situation :
$ sudo useradd janedoe
La useradd
La commande prend en charge plusieurs options qui peuvent être spécifiées lors de la création de l'utilisateur, les plus courantes étant l'ID utilisateur (UID), l'ID de groupe (GID), le shell par défaut et le répertoire personnel, etc. Un exemple est donné ci-dessous :
$ sudo useradd -s /bin/sh -d /data/newhome -c "Jane Doe" -u 1005 janedoe
Vous pouvez vérifier la nouvelle créationated utilisateur utilisant id
commander:
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$
Modification de l'utilisateur
Il est souvent nécessaire de modifier certaines propriétés des utilisateurs existants en fonction des exigences de l'organisation, des demandes des utilisateurs ou des migrations du système. La plupart de ces propriétés sont faciles à modifier, bien que nous devions nous assurer de la manière dont cela affectera l'environnement de l'utilisateur et l'accès aux fichiers détenus ou accessibles par l'utilisateur.
Shell par défaut
Le shell par défaut est le shell CLI created lorsqu'un utilisateur lance une nouvelle session CLI soit locally ou par SSH. La plupart des systèmes modernes ont un utilisateur par défaut Bash
bien que cela puisse varier en fonction de la distribution Linux ou de l'environnement de l'utilisateur. Pour modifier le shell par défaut d'un utilisateur, utilisez :
$ sudo usermod -s <shell> <username>
Mise en situation :
$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/sh
$ sudo usermod -s /bin/bash janedoe
$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/bash
$
Comme vous pouvez le voir dans la sortie ci-dessus, le shell a été modifié de /bin/sh
à /bin/bash
pour l'utilisateur janedoe
.
Répertoire personnel
Comme le shell par défaut, le répertoire personnel d'un utilisateur peut être modifié vers un autre emplacement en utilisant :
$ sudo usermod -d <new_directory_path> <username>
Dans l'exemple ci-dessous, le répertoire personnel de l'utilisateur janedoe
a été changé en /data/janedoe
:
$ getent passwd janedoe
janedoe:x:1005:1005::/data/newhome:/bin/bash
$ sudo usermod -d /data/janedoe janedoe
$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$
Avant d'effectuer le changement, assurez-vous que le nouveau répertoire dispose des droits de propriété et des autorisations appropriés. Autrewise, l'utilisateur peut rencontrer des problèmes lors de la connexion ou en travaillant dans le nouveau répertoire personnel.
ID utilisateur
Vous pouvez modifier l'ID utilisateur d'un utilisateur existant en utilisant :
$ sudo usermod -u <new_uid> <username>
Mise en situation :
$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$ sudo usermod -u 1010 janedoe
$ getent passwd janedoe
janedoe:x:1010:1005::/data/janedoe:/bin/bash
$
Encore une fois, la modification de l'UID modifie la façon dont le système de fichiers Linux mappe la propriété et l'autorisation à un fichier ou un répertoire. Assurez-vous que le répertoire personnel de l'utilisateur et son contenu ainsi que tous les autres fichiers n'importe où dans le système, leur origineally appartenant à l'utilisateur (avec l'ancien UID), est remplacé par l'UID mappé. Ne pas le faire peut entraîner des problèmes dans la session CLI et dans l'accès aux fichiers par l'utilisateur.
Groupe par défaut
Le groupe par défaut est usually l'ID de groupe par défaut de l'utilisateur, qui obtientated pendant l'utilisation creation sauf si un autre GID est spécifié. Linux vous permet de modifier le groupe par défaut d'un utilisateur en utilisant usermod
commande aussi. Voici la syntaxe à utiliser :
$ sudo usermod -g <new_gid or group_name> <username>
Voici un exemple:
$ getent passwd janedoe
janedoe:x:1010:1005::/data/janedoe:/bin/bash
$ sudo usermod -g 1001 janedoe
$ getent passwd janedoe
janedoe:x:1010:1001::/data/janedoe:/bin/bash
$
Encore une fois, assurez-vous que le nouvel ID de groupe est défini sur le répertoire personnel de l'utilisateur, son contenu et tous les autres fichiers ou répertoires applicables pour migrer correctement.ate leurs autorisations de propriété.
Ajouter/supprimer des groupes
Outre le groupe par défaut, un utilisateur sous Linux peut faire partie de groupes secondaires. Nous pouvons toujours ajouter ou supprimer des groupes supplémentaires auxquels un utilisateur appartient en utilisant usermod
commander.
$ sudo usermod -a -G <group_id or group_name> <username>
Mise en situation :
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo usermod -a -G docker janedoe
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker)
$
De même, pour supprimer un utilisateur de l'un des groupes secondaires, utilisez gpasswd
commande comme indiqué ci-dessous:
$ sudo gpasswd -d <username> <groupname>
Mise en situation :
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe),1001(docker)
$ sudo gpasswd -d janedoe docker
Removing user janedoe from group docker
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$
GECOS Commentaires
GECOS champ dans /etc/passwd
contient des informations ou des commentaires sur l'utilisateur. Nous pouvons modifier ces informations pour un utilisateur existant comme :
$ sudo usermod -c <comment> <username>
Mise en situation :
$ getent passwd janedoe
janedoe:x:1005:1005::/data/janedoe:/bin/bash
$ sudo usermod -c "Jane Doe - System Admin" janedoe
$ getent passwd janedoe
janedoe:x:1005:1005:Jane Doe - System Admin:/data/janedoe:/bin/bash
$
Veuillez noter que si votre commentaire ou vos informations d'utilisateur contiennent des espaces, placez ce champ entre guillemets comme dans l'exemple ci-dessus.
Nom de connexion
Le nom de connexion de l'utilisateur peut également être modifié à l'aide de usermod
commande en utilisant -l
drapeau:
$ sudo usermod -l <new_username> <old_username>
Mise en situation :
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo usermod -l jane_doe janedoe
$ id jane_doe
uid=1005(jane_doe) gid=1005(janedoe) groups=1005(janedoe)
$
N'oubliez pas de mettre à jourate références utilisateur selon le nouveau nom lorsquereveuh utilisé. Même dans des commandes comme id
, le nouveau nom d'utilisateur doit être spécifié.
Suppression d'un utilisateur
Un utilisateur peut être supprimé de Linux en utilisant userdel
commander.
$ sudo userdel <username>
Mise en situation :
$ id janedoe
uid=1005(janedoe) gid=1005(janedoe) groups=1005(janedoe)
$ sudo userdel janedoe
$ id janedoe
id: ‘janedoe’: no such user
$
Pour supprimer un utilisateur avec son répertoire personnel et son spool de messagerie, ajoutez -r
drapeau aussi.
$ sudo userdel -r <username>
Autres ingrédients ally pour les systèmes basés sur Ubuntu, vous pouvez également utiliser deluser
commande pour supprimer un utilisateur :
$ sudo deluser <username>
De même, pour supprimer également le répertoire personnel et le spool de messagerie, utilisez :
$ sudo deluser --remove-home <username>
Pour des informations détaillées et d'autres options prises en charge, reportez-vous à la page principale des différentes commandes à l'aide de :
$ man adduser
$ man useradd
$ man usermod
$ man deluser
$ man userdel
Conclusion
Cet article a montré divers aspects de la gestion des utilisateurs dans un système Linux. Cela comprend une explication de divers categroupes d'utilisateurs et comment les ajouter et les supprimer. Il couvre également diverses options permettant de modifier les paramètres d'un utilisateur existant. Bien qu'il ne couvre pas toutes les possibilités prises en charge par les différentes commandes, il couvre de nombreuses tâches d'administration courantes qu'un administrateur système rencontrera dans son travail quotidien.
Vous pourriez également être intéressé à lire : Comment supprimer des fichiers et des répertoires sous Linux ?