Linux est un système multi-utilisateurs, ce qui signifie que plusieurs personnes peuvent interagir avec le même système en même temps. En tant qu'administrateur système, vous avez la responsabilité de gérer les utilisateurs et les groupes du système en créant et en supprimant des utilisateurs et en les affectant à différents groupes.
Dans cet article, nous allons parler de la façon de créer de nouveaux comptes d'utilisateurs en utilisant le useradd
commande.
useradd
Commande #
La syntaxe générale de useradd
commande est la suivante :
useradd [OPTIONS] USERNAME
Seuls root ou les utilisateurs avec sudoprivileges peuvent utiliser le useradd
commande pour créer de nouveaux comptes d'utilisateurs.
Lorsqu'il est invoqué, useradd
crée un nouveau compte utilisateur selon les options spécifiées sur la ligne de commande et les valeurs par défaut définies dans le /etc/default/useradd
fichier.
Les variables définies dans ce fichier diffèrent d'une distribution à l'autre, ce qui provoque le useradd
commande pour produire des résultats différents sur différents systèmes.
useradd
lit également le contenu de /etc/login.defs
dossier. Ce fichier contient la configuration de la suite de mots de passe shadow, telle que la politique d'expiration des mots de passe, les plages d'ID utilisateur utilisées lors de la création d'utilisateurs système et réguliers, etc.
Comment créer un nouvel utilisateur sous Linux #
Pour créer un nouveau compte utilisateur, invoquez le useradd
commande suivie du nom de l'utilisateur.
Par exemple pour créer un nouvel utilisateur nommé username
vous exécuteriez :
sudo useradd username
Lorsqu'il est exécuté sans aucune option, useradd
crée un nouveau compte utilisateur en utilisant les paramètres par défaut spécifiés dans le /etc/default/useradd
dossier.
La commande ajoute une entrée au /etc/passwd
, /etc/shadow,
/etc/group
et /etc/gshadow
fichiers.
Pour pouvoir vous connecter en tant qu'utilisateur nouvellement créé, vous devez définir le mot de passe de l'utilisateur. Pour ce faire, exécutez le passwd
commande suivie du nom d'utilisateur :
sudo passwd username
Vous serez invité à entrer et à confirmer le mot de passe. Assurez-vous d'utiliser un mot de passe fort.
Changing password for user username.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Comment ajouter un nouvel utilisateur et créer un répertoire personnel #
Sur la plupart des distributions Linux, lors de la création d'un nouveau compte utilisateur avec useradd
, le répertoire personnel de l'utilisateur n'est pas créé.
Utilisez le -m
(--create-home
) option pour créer le répertoire personnel de l'utilisateur sous la forme /home/username
:
sudo useradd -m username
La commande ci-dessus crée le répertoire personnel du nouvel utilisateur et copie les fichiers de /etc/skel
répertoire vers le répertoire personnel de l'utilisateur. Si vous listez les fichiers dans le /home/username
répertoire, vous verrez les fichiers d'initialisation :
ls -la /home/username/
drwxr-xr-x 2 username username 4096 Dec 11 11:23 .
drwxr-xr-x 4 root root 4096 Dec 11 11:23 ..
-rw-r--r-- 1 username username 220 Apr 4 2018 .bash_logout
-rw-r--r-- 1 username username 3771 Apr 4 2018 .bashrc
-rw-r--r-- 1 username username 807 Apr 4 2018 .profile
Dans le répertoire d'accueil, l'utilisateur peut écrire, modifier et supprimer des fichiers et des répertoires.
Création d'un utilisateur avec un numéro de répertoire personnel spécifique
Par défaut useradd
crée le répertoire personnel de l'utilisateur dans /home
. Si vous souhaitez créer le répertoire personnel de l'utilisateur à un autre emplacement, utilisez le d
(--home
).
Voici un exemple montrant comment créer un nouvel utilisateur nommé username
avec un répertoire personnel de /opt/username
:
sudo useradd -m -d /opt/username username
Création d'un utilisateur avec un ID utilisateur spécifique #
Dans les systèmes d'exploitation Linux et Unix, les utilisateurs sont identifiés par un UID et un nom d'utilisateur uniques.
L'identifiant d'utilisateur (UID) est un entier positif unique attribué par le système Linux à chaque utilisateur. L'UID et d'autres politiques de contrôle d'accès sont utilisés pour déterminer les types d'actions qu'un utilisateur peut effectuer sur les ressources système.
Par défaut, lorsqu'un nouvel utilisateur est créé, le système attribue le prochain UID disponible à partir de la plage d'ID utilisateur spécifiée dans le login.defs
fichier.
Appelez useradd
avec le -u
(--uid
) pour créer un utilisateur avec un UID spécifique. Par exemple pour créer un nouvel utilisateur nommé username
avec un UID de 1500
vous taperiez :
sudo useradd -u 1500 username
Vous pouvez vérifier l'UID de l'utilisateur en utilisant le id
commande :
id -u username
1500
Création d'un utilisateur avec un ID de groupe spécifique #
Les groupes Linux sont des unités d'organisation utilisées pour organiser et administrer les comptes d'utilisateurs sous Linux. L'objectif principal des groupes est de définir un ensemble de privilèges tels que l'autorisation de lecture, d'écriture ou d'exécution pour une ressource donnée, qui peuvent être partagés entre les utilisateurs du groupe.
Lors de la création d'un nouvel utilisateur, le comportement par défaut de useradd
La commande consiste à créer un groupe avec le même nom que le nom d'utilisateur et le même GID que l'UID.
Le -g
(--gid
) vous permet de créer un utilisateur avec un groupe de connexion initial spécifique. Vous pouvez spécifier le nom du groupe ou le numéro GID. Le nom du groupe ou GID doit déjà exister.
L'exemple suivant montre comment créer un nouvel utilisateur nommé username
et définissez le groupe de connexion sur users
saisissez :
sudo useradd -g users username
Pour vérifier le GID de l'utilisateur, utilisez le id
commande :
id -gn username
users
Création d'un utilisateur et attribution de plusieurs groupes #
Il existe deux types de groupes dans les systèmes d'exploitation Linux Groupe principal et groupe secondaire (ou supplémentaire). Chaque utilisateur peut appartenir à exactement un groupe principal et zéro ou plusieurs groupes secondaires.
Vous préciser une liste de groupes supplémentaires dont l'utilisateur sera membre avec le -G
(--groups
).
La commande suivante crée un nouvel utilisateur nommé username
avec les users
du groupe principal et groupes secondaires wheel
et docker
.
sudo useradd -g users -G wheel,developers username
Vous pouvez vérifier les groupes d'utilisateurs en tapant
id username
uid=1002(username) gid=100(users) groups=100(users),10(wheel),993(docker)
Création d'un utilisateur avec un numéro de shell de connexion spécifique
Par défaut, le shell de connexion du nouvel utilisateur est défini sur celui spécifié dans le /etc/default/useradd
dossier. Dans certaines distributions, le shell par défaut est défini sur /bin/sh
tandis que dans d'autres, il est défini sur /bin/bash
.
Le -s
(--shell
) vous permet de spécifier le shell de connexion du nouvel utilisateur.
Par exemple, pour créer un nouvel utilisateur nommé username
avec /usr/bin/zsh
en tant que type de shell de connexion :
sudo useradd -s /usr/bin/zsh username
Vérifiez l'entrée de l'utilisateur dans le /etc/passwd
fichier pour vérifier le shell de connexion de l'utilisateur :
grep username /etc/passwd
username:x :1001:1001::/home/username:/usr/bin/zsh
Créer un utilisateur avec un commentaire personnalisé #
Le -c
(--comment
) vous permet d'ajouter une courte description pour le nouvel utilisateur. Généralement, le nom complet de l'utilisateur ou les informations de contact sont ajoutés sous forme de commentaire.
Dans l'exemple suivant, nous créons un nouvel utilisateur nommé username
avec la chaîne de texte Test User Account
en commentaire :
sudo useradd -c "Test User Account" username
Le commentaire est enregistré dans /etc/passwd
fichier :
grep username /etc/passwd
username:x :1001:1001:Test User Account:/home/username:/bin/sh
Le champ de commentaire est également appelé GECOS
.
Créer un utilisateur avec une date d'expiration #
Pour définir une heure à laquelle les nouveaux comptes utilisateurs expireront, utilisez le -e
(--expiredate
) option. Ceci est utile pour créer des comptes temporaires.
La date doit être précisée à l'aide du YYYY-MM-DD
formater.
Par exemple pour créer un nouveau compte utilisateur nommé username
avec une date d'expiration fixée au 22 janvier 2019, vous exécuteriez :
sudo useradd -e 2019-01-22 username
Utilisez le chage
commande pour vérifier la date d'expiration du compte utilisateur :
sudo chage -l username
La sortie ressemblera à ceci :
Last password change : Dec 11, 2018
Password expires : never
Password inactive : never
Account expires : Jan 22, 2019
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
Création d'un numéro d'utilisateur système
Il n'y a pas de réelle différence technique entre le système et les utilisateurs réguliers (normaux). En règle générale, les utilisateurs système sont créés lors de l'installation du système d'exploitation et des nouveaux packages.
Utilisez le -r
(--system
) option pour créer un compte d'utilisateur système. Par exemple, pour créer un nouvel utilisateur système nommé username
vous exécuteriez :
sudo useradd -r username
Les utilisateurs système sont créés sans date d'expiration. Leurs UID sont choisis parmi la plage d'ID utilisateur système spécifiée dans le login.defs
fichier, qui est différent de la plage utilisée pour les utilisateurs normaux.
Modification des valeurs useradd par défaut #
Les options d'ajout d'utilisateur par défaut peuvent être visualisées et modifiées à l'aide de -D
, --defaults
option, ou en modifiant manuellement les valeurs dans le /etc/default/useradd
fichier.
Pour afficher les options par défaut actuelles, saisissez :
useradd -D
La sortie ressemblera à ceci :
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
Disons que vous voulez changer le shell de connexion par défaut de /bin/sh
vers /bin/bash
. Pour ce faire, spécifiez le nouveau shell comme indiqué ci-dessous :
sudo useradd -D -s /bin/bash
Vous pouvez vérifier que la valeur par défaut du shell est modifiée en exécutant la commande suivante :
sudo useradd -D | grep -i shell
SHELL=/bin/bash
Conclusion #
Nous vous avons montré comment créer de nouveaux comptes d'utilisateurs en utilisant le useradd
commande. Les mêmes instructions s'appliquent à toute distribution Linux, y compris Ubuntu, CentOS, RHEL, Debian, Fedora et Arch Linux.
useradd
est un utilitaire de bas niveau, les utilisateurs de Debian et d'Ubuntu peuvent utiliser la commande adduser plus conviviale à la place.
N'hésitez pas à laisser un commentaire si vous avez des questions.