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 : - UID : Identifiant unique - GID : Groupe principal - Répertoire personnel : /home/username - Shell : Interpréteur par défaut - Mot de passe : Stocké dans /etc/shadow
Un groupe permet de : - Partager des fichiers entre utilisateurs - Gérer des permissions collectivement
| 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
#交互式
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 ! 👤