Dans cette leçon, tu vas maîtriser la gestion des utilisateurs et groupes sous Linux, essentiel pour l'administration système.
Un utilisateur Linux possède :
Un groupe permet de :
| Fichier | Description |
|---|---|
/etc/passwd | Infos utilisateurs |
/etc/shadow | Mots de passe chiffrés |
/etc/group | Infos groupes |
/etc/skel/ | Modèle pour nouveaux utilisateurs |
# Créer un utilisateur
sudo useradd -m nom_utilisateur
# Avec options
sudo useradd -m -s /bin/bash -c "Description" -G groupe1,groupe2 nom
#interactif
sudo adduser nom_utilisateur
# Changer le shell
sudo usermod -s /bin/zsh nom
# Ajouter à un groupe
sudo usermod -aG groupe nom
# Changer le répertoire home
sudo usermod -d /nouveau/chemin -m nom
# Verrouiller/déverrouiller un compte
sudo usermod -L nom # Verrouiller
sudo usermod -U nom # Déverrouiller
# Supprimer (garde les fichiers)
sudo userdel nom
# Supprimer avec fichiers
sudo userdel -r nom
# Supprimer avec confirmation
sudo userdel -r -f nom
# Changer son mot de passe
passwd
# Changer mot de passe d'un autre utilisateur (root)
sudo passwd nom_utilisateur
# Vider le mot de passe
sudo passwd -d nom_utilisateur
# Expirer le mot de passe
sudo passwd -e nom_utilisateur
sudo groupadd nom_groupe
sudo groupadd -g 1005 nom_groupe # Avec GID spécifique
# Renommer un groupe
sudo groupmod -n nouveau_nom ancien_nom
# Changer le GID
sudo groupmod -g 1006 nom_groupe
sudo groupdel nom_groupe# Ajouter un utilisateur à un groupe
sudo usermod -aG groupe utilisateur
# Retirer d'un groupe
sudo gpasswd -d utilisateur groupe
# Voir les membres d'un groupe
getent group groupe
# Liste des utilisateurs
cat /etc/passwd
# ou
getent passwd
# Filtrer
getent passwd | cut -d: -f1
# Derniers utilisateurs créés
lastlog
# Liste des groupes
cat /etc/group
# ou
getent group
# groupes d'un utilisateur
groups nom_utilisateur
id nom_utilisateur
id # Ses propres IDs
id nom_utilisateur # IDs d'un utilisateur
# Éditer le fichier sudoers (TOUJOURS avec visudo!)
sudo visudo
# Ajouter un utilisateur au groupe sudo
sudo usermod -aG sudo nom
# Voir qui a sudo
getent group sudo
# Définir une date d'expiration
sudo usermod -e 2024-12-31 nom
# Voir la date d'expiration
sudo chage -l nom
#Forcer changement mot de passe
sudo chage -d 0 nom
# Verrouiller
sudo passwd -l nom
# Déverrouiller
sudo passwd -u nom
# Voir le statut
sudo passwd -S nom
# Installer libpam-pwquality
sudo apt install libpam-pwquality
# Configurer (/etc/security/pwquality.conf)
sudo nano /etc/security/pwquality.conf
minlen = 12
dcredit = -1 # Au moins 1 chiffre
ucredit = -1 # Au moins 1 majuscule
lcredit = -1 # Au moins 1 minuscule
ocredit = -1 # Au moins 1 caractère spécial
# Configuration dans /etc/login.defs
# ou avec chage
sudo chage -m 7 nom # Minimum 7 jours
sudo chage -M 90 nom # Maximum 90 jours
sudo chage -W 7 nom # Avertissement 7 jours avant expiration
sudo chage -I 30 nom # Verrouillage 30 jours après expiration
#!/bin/bash
# Variables
USERNAME="nouvelutilisateur"
FULLNAME="Nouvel Utilisateur"
SHELL="/bin/bash"
GROUPES="sudo,users"
# Créer le groupe principal s'il n'existe pas
sudo groupadd $USERNAME 2>/dev/null
# Créer l'utilisateur
sudo useradd -m -s $SHELL -c "$FULLNAME" -G $GROUPES $USERNAME
# Définir le mot de passe
sudo passwd $USERNAME
echo "Utilisateur $USERNAME créé avec succès!"
#!/bin/bash
USERNAME="utilisateur_a_supprimer"
# Demander confirmation
read -p "Supprimer l'utilisateur $USERNAME? (o/n): " confirm
if [ "$confirm" = "o" ]; then
sudo userdel -r $USERNAME
echo "Utilisateur supprimé."
else
echo "Annulé."
fi
| Pratique | Description |
|---|---|
| Utiliser sudo | Pas de connection root directe |
| Mots de passe forts | Minimum 12 caractères, mélange |
| Groupes logiques | Regrouper par projet/fonction |
| Audit régulier | Vérifier les utilisateurs |
| Désactiver compte | Jamais supprimer (garder UID) |
| Limiter sudo | Seulement utilisateurs nécessaires |
| Commande | Description |
|---|---|
useradd | Créer utilisateur |
usermod | Modifier utilisateur |
userdel | Supprimer utilisateur |
passwd | Changer mot de passe |
groupadd | Créer groupe |
groupdel | Supprimer groupe |
groups | Lister ses groupes |
id | Voir UID/GID |
getent | Consulter base |
Maîtrise la gestion des utilisateurs pour administrer Linux correctement ! 👤
Chaque utilisateur sur Linux est défini par plusieurs informations stockées dans deux fichiers clés :
/etc/passwd — informations du compte (login, UID, GID principal, shell, etc.)
/etc/shadow — mot de passe chiffré (accessible uniquement à root)
/etc/group — liste des groupes et de leurs membres
/etc/gshadow — mots de passe des groupes (rarement utilisé)
Après useradd, il faut attribuer un mot de passe :
La gestion des utilisateurs est une compétence fondamentale pour tout administrateur Linux. Ces commandes te permettent de créer, configurer, protéger et supprimer des comptes en toute sécurité.