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.