Introduction
Les commandes useradd et userdel permettent respectivement de créer et de supprimer des utilisateurs sur un système Linux. Ces commandes nécessitant des privilèges d'administrateur pour être exécutées.
Lors de la création d'un utilisateur, si aucun mot de passe n'est configuré, le mot de passe par défaut est inutilisable. Par conséquent, la commande useradd est généralement utilisée en combinaison avec la commande passwd.
Syntaxe
useradd [options] nom_utilisateur
userdel [options] nom_utilisateur
Types d'utilisateurs
- Utilisateur superutilisateur : root, possède les plus hauts privilèges d'administration sur le système. Son UID (identifiant d'utilisateur) est par défaut 0.
- Utilisateur système : aussi appelé utilisateur virtuel ou pseudo-utilisateur, possède certains privilèges et est lié à des services ou programmes système. Ces utilisateurs ne se connectent généralement pas au système mais sont nécessaires au bon fonctionnement de certains services comme ftp, apache, etc.
- Utilisateur standard : utilisateur avec des restrictions, généralement les nouveaux utilisateurs créés sont de ce type. Par défaut, ils ne peuvent exécuter que les commandes situées dans /bin, /usr/bin, /usr/local/bin ainsi que dans leur propre répertoire personnel.
Remarque : l'UID est l'identifiant unique de chaque utilisateur. Bien qu'il soit possible de modifier le fichier /etc/passwd (où les UID ne doivent pas être dupliqués), il est préféré de maintenir leur unicité, similaire à un numéro d'identfiication national.
Options
Options de useradd
-c # Ajouter un commentaire, qui sera enregistré dans le champ commentaire du fichier passwd.
-d # Spécifier le répertoire personnel de l'utilisateur, en remplacement de la valeur par défaut /home/<nom_utilisateur>
-D # Modifier les valeurs par défaut.
-e # Définir la date d'expiration du compte. Le format est MM/JJ/AA, par exemple 06/30/12. Par défaut, le compte est permanent.
-f # Définir le nombre de jours après l'expiration du mot de passe pendant lesquels le compte reste actif. Si 0, le compte est immédiatement désactivé ; si -1, le compte reste toujours actif. La valeur par défaut est -1.
-g # Spécifier le groupe principal de l'utilisateur. La valeur peut être le nom du groupe ou son GID. Le groupe doit exister, la valeur par défaut est 100 (groupe users).
-G # Spécifier les groupes supplémentaires auxquels appartient l'utilisateur.
-m # Créer automatiquement le répertoire personnel de l'utilisateur.
-M # Ne pas créer le répertoire personnel de l'utilisateur.
-n # Ne pas créer de groupe portant le même nom que l'utilisateur.
-r # Créer un compte système.
-s # Spécifier le shell utilisé par l'utilisateur après connexion. La valeur par défaut est /bin/bash.
-u # Spécifier l'ID utilisateur (UID). Cette valeur doit être unique dans le système. Les valeurs 0~499 sont généralement réservées aux comptes système, donc cette valeur doit être supérieure à 499.</nom_utilisateur>
Options de userdel
-f # Forcer la suppression du compte utilisateur
-r # Supprimer le répertoire personnel de l'utilisateur et tous ses fichiers
-h # Afficher les informations d'aide de la commande
Exemples d'utilisation
# Créer un utilisateur système nommé devops
useradd -s /sbin/nologin devops
# Créer un utilisateur avec un ID spécifique (supérieur à 500 pour éviter les conflits)
useradd techuser -u 1001
# Créer un utilisateur avec un répertoire personnel personnalisé
useradd -m -d /home/techuser techuser
# Créer un utilisateur sans répertoire personnel et incapable de se connecter
useradd -s /sbin/nologin techuser
# Créer un utilisateur et l'ajouter à plusieurs groupes supplémentaires
useradd -m -G developers,sudo techuser
# Créer un utilisateur avec un ID spécifique, l'ajouter au groupe principal admin
useradd -u 2020 -m -g admin techuser
La commande useradd -D permet d'afficher les informations par défaut lors de la création d'unn nouvel utilisateur. On peut également consulter directement le fichier /etc/default/useradd.
useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
Modification des valeurs par défaut pour la création de nouveaux utilisateurs :
# Modifier la période d'inactivité par défaut
useradd -D -f 30
# Vérifier si la modification a bien été appliquée
useradd -D | grep INACTIVE
INACTIVE=30
Suppression d'utilisateurs
# Supprimer un utilisateur sans supprimer son répertoire personnel
sudo userdevops
# Supprimer un utilisateur et son répertoire personnel
sudo userdel -r devops
# Forcer la suppression d'un utilisateur
sudo userdel -f devops