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ère | adduser | useradd |
|---|---|---|
| Interactivité | Oui (guide l’utilisateur) | Non (nécessite des options manuelles) |
| Création du répertoire personnel | Automatique (sauf si désactivé) | Nécessite l’option -m |
| Définition du mot de passe | Intégré au processus | Nécessite passwd après création |
| Distribution | Principalement Debian/Ubuntu | Universel (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 :
- Définir un mot de passe.
- Renseigner des informations supplémentaires (nom complet, numéro de téléphone, etc.).
- Confirmer les informations avant création.
Créer un utilisateur avec des options spécifiques
Options courantes
| Option | Description |
|---|---|
--home /chemin/vers/dossier | Définit un répertoire personnel personnalisé. |
--shell /bin/bash | Définit le shell par défaut. |
--ingroup <nom_groupe> | Associe l’utilisateur à un groupe principal. |
--disabled-password | Cré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
| Option | Description |
|---|---|
--remove-home | Supprime également le répertoire personnel. |
--remove-all-files | Supprime 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
| Option | Description |
|---|---|
-m | Crée le répertoire personnel (/home/<nom_utilisateur>). |
-s | Définit le shell par défaut (ex: /bin/bash). |
-c | Ajoute un commentaire (ex: « Utilisateur de test »). |
-G | Associe 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
| Option | Description |
|---|---|
-aG | Ajoute l’utilisateur à un groupe supplémentaire. |
-l | Change le nom de l’utilisateur. |
-d | Change 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
| Option | Description |
|---|---|
-r | Supprime é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
| Option | Description |
|---|---|
-n | Change 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