La création et la suppression des utilisateurs et des groupes avec les commandes Shell Linux

Prérequis

  • Accès root (su) ou utilisation de sudo pour les commandes nécessitant des privilèges administratifs.
  • Un terminal Linux (local ou distant via SSH).

Gestion des utilisateurs

Comparaison entre adduser et useradd

Critèreadduseruseradd
InteractivitéOui (guide l’utilisateur)Non (nécessite des options manuelles)
Création du répertoire personnelAutomatique (sauf si désactivé)Nécessite l’option -m
Définition du mot de passeIntégré au processusNécessite passwd après création
DistributionPrincipalement Debian/UbuntuUniversel (toutes les distributions)

adduser (distributions Debian et Ubuntu)

La commande adduser est une alternative plus conviviale à useradd, car elle est interactive et automatise certaines étapes (comme la création du répertoire personnel et la définition du mot de passe). Elle est souvent préférée pour une utilisation manuelle, surtout sur les distributions Debian et Ubuntu.

Bonnes pratiques avec adduser :

  • Privilèges : Toujours utiliser sudo ou (su) pour éviter les erreurs de permission.
  • Sécurité : Éviter de créer des utilisateurs sans mot de passe (–disabled-password) sauf pour des cas spécifiques (ex: comptes système).
  • Documentation : Utiliser man adduser ou man deluser pour plus de détails sur les options disponibles.

Pourquoi adduser est disponible sur Debian/Ubuntu ?

  • Origine Debian : adduser est un script Perl développé spécifiquement pour les systèmes Debian. Il offre une interface plus conviviale que la commande basique useradd (disponible sur toutes les distributions Linux).
  • Fonctionnalités avancées :
  • Il crée automatiquement le répertoire personnel de l’utilisateur (/home/nom_utilisateur).
  • Il définit des valeurs par défaut pour le shell, le groupe, etc.
  • Il propose une interaction guidée (questions/réponses) pour configurer l’utilisateur.
  • Intégration : Il utilise les outils système sous-jacents comme useradd, passwd, et mkdir pour accomplir ses tâches.

Utilisation de adduser

La commande de base :

sudo adduser <nom_utilisateur>

Exemple :

sudo adduser testuser

Cette commande vous guidera à travers un processus interactif pour :

  1. Définir un mot de passe.
  2. Renseigner des informations supplémentaires (nom complet, numéro de téléphone, etc.).
  3. Confirmer les informations avant création.

Créer un utilisateur avec des options spécifiques

Options courantes

OptionDescription
--home /chemin/vers/dossierDéfinit un répertoire personnel personnalisé.
--shell /bin/bashDéfinit le shell par défaut.
--ingroup <nom_groupe>Associe l’utilisateur à un groupe principal.
--disabled-passwordCrée l’utilisateur sans mot de passe (à utiliser avec prudence).

Exemple :

sudo adduser --home /custom/home --shell /bin/bash --ingroup developers customuser

Ajouter un utilisateur à un groupe existant

Commande :

sudo adduser <nom_utilisateur> <nom_groupe>

Exemple :

sudo adduser testuser sudo

Les deux conditions suivantes doivent être remplies :

  • L’utilisateur doit déjà exister sur le système.
  • Le groupe doit déjà exister sur le système.

Supprimer un utilisateur – deluser

Commande :

sudo deluser [options] <nom_utilisateur>

Options

OptionDescription
--remove-homeSupprime également le répertoire personnel.
--remove-all-filesSupprime tous les fichiers appartenant à l’utilisateur.

Exemple :

sudo deluser --remove-home testuser

Quelques exemples

Créer un utilisateur interactivement :

sudo adduser devuser

Ajouter l’utilisateur au groupe « developers » :

sudo adduser devuser developers

Vérifier les groupes de l’utilisateur :

groups devuser

Supprimer l’utilisateur et son répertoire personnel :

sudo deluser --remove-home devuser

useradd

Commande de base :

sudo useradd [options] <nom_utilisateur>

Options courantes

OptionDescription
-mCrée le répertoire personnel (/home/<nom_utilisateur>).
-sDéfinit le shell par défaut (ex: /bin/bash).
-cAjoute un commentaire (ex: « Utilisateur de test »).
-GAssocie l’utilisateur à des groupes supplémentaires (ex: sudo).

Exemple :

sudo useradd -m -s /bin/bash -c "Utilisateur de test" -G sudo testuser

Définir un mot de passe :

sudo passwd <nom_utilisateur>

Modifier un utilisateur

Commande :

sudo usermod [options] <nom_utilisateur>

Options utiles

OptionDescription
-aGAjoute l’utilisateur à un groupe supplémentaire.
-lChange le nom de l’utilisateur.
-dChange le répertoire personnel.

Ajouter un utilisateur à un groupe

Exemple :

sudo usermod -aG developers testuser

Supprimer un utilisateur d’un groupe

sudo gpasswd -d <nom_utilisateur> <nom_groupe>

Supprimer un utilisateur – userdel

Commande de base :

sudo userdel [options] <nom_utilisateur>

Options

OptionDescription
-rSupprime également le répertoire personnel et les fichiers.

Exemple :

sudo userdel -r testuser

Gestion des groupes

Créer un groupe

Commande :

sudo groupadd <nom_groupe>

Exemple :

sudo groupadd developers

Modifier un groupe

Commande :

sudo groupmod [options] <nom_groupe>

Option utile

OptionDescription
-nChange le nom du groupe.

Exemple :

sudo groupmod -n devs developers

Supprimer un groupe

Commande :

sudo groupdel <nom_groupe>

Exemple :

sudo groupdel devs

Vérification et diagnostic

Lister les utilisateurs :

cut -d: -f1 /etc/passwd

Lister les groupes :

cut -d: -f1 /etc/group

Vérifier les groupes d’un utilisateur :

groups <nom_utilisateur>

Vérifier les informations d’un utilisateur :

id <nom_utilisateur>

Voir également

Ls – Lister les fichiers et dossiers dans un répertoire sous Linux

Chmod – Les bases des permissions

La gestion des droits sous Linux (sticky bit – sgid – suid)

Modifier les propriétés d’un compte utilisateur avec usermod sous Linux

Modifier le propriétaire et/ou le groupe propriétaire d’un fichier ou répertoire avec chgrp et chown sous Linux

Retour en haut