Lab 5.1 - Gestion des Utilisateurs
Objectifs
À la fin de ce lab, vous serez capable de:
- Créer des utilisateurs avec useradd
- Modifier des utilisateurs avec usermod
- Supprimer des utilisateurs avec userdel
- Gérer les mots de passe
- Comprendre les fichiers système (/etc/passwd, /etc/shadow)
Prérequis
- Ubuntu 24.04 installé
- Accès sudo/root
- Terminal ouvert
Exercice 1: Créer des Utilisateurs
Étape 1: useradd Basique
# Créer un utilisateur simple
sudo useradd testuser1
# Vérifier
id testuser1
cat /etc/passwd | grep testuser1
Étape 2: useradd avec Options
# Créer avec répertoire home
sudo useradd -m testuser2
# Créer avec shell spécifique
sudo useradd -m -s /bin/bash testuser3
# Créer avec groupe primaire
sudo useradd -m -g users testuser4
# Créer avec UID spécifique
sudo useradd -m -u 1500 testuser5
Étape 3: Créer avec adduser (Ubuntu)
# adduser est plus interactif (recommandé sur Ubuntu)
sudo adduser testuser6
# Suivre les prompts:
# - Mot de passe
# - Informations (optionnel)
Exercice 2: Modifier des Utilisateurs
Étape 1: usermod Basique
# Changer le shell
sudo usermod -s /bin/zsh testuser1
# Vérifier
grep testuser1 /etc/passwd
Étape 2: Modifier le Répertoire Home
# Changer le répertoire home
sudo usermod -d /home/nouveau-home testuser1
# Déplacer le contenu
sudo usermod -m -d /home/nouveau-home testuser1
Étape 3: Ajouter aux Groupes
# Ajouter à un groupe secondaire
sudo usermod -aG sudo testuser1
# Vérifier
groups testuser1
id testuser1
Étape 4: Verrouiller/Déverrouiller
# Verrouiller un compte
sudo usermod -L testuser1
# Vérifier
sudo passwd -S testuser1
# Déverrouiller
sudo usermod -U testuser1
Exercice 3: Mots de Passe
Étape 1: Définir un Mot de Passe
# Définir le mot de passe
sudo passwd testuser1
# Définir sans prompt
echo "testuser1:motdepasse" | sudo chpasswd
Étape 2: Expiration du Mot de Passe
# Forcer changement au prochain login
sudo passwd -e testuser1
# Définir expiration
sudo chage -M 90 testuser1 # Expire dans 90 jours
# Voir les informations
sudo chage -l testuser1
Étape 3: Politique de Mots de Passe
# Voir la configuration
cat /etc/pam.d/common-password
# Installer libpam-pwquality pour politique stricte
sudo apt install libpam-pwquality
# Configuration: /etc/security/pwquality.conf
Exercice 4: Fichiers Système
Étape 1: /etc/passwd
# Voir le fichier
cat /etc/passwd
# Format: username:x:UID:GID:comment:home:shell
# Exemple: testuser1:x:1001:1001::/home/testuser1:/bin/bash
# Analyser
awk -F: '{print $1, $3, $7}' /etc/passwd
Étape 2: /etc/shadow
# Voir (nécessite sudo)
sudo cat /etc/shadow
# Format: username:password_hash:last_change:min:max:warn:inactive:expire
# Voir les informations d'un utilisateur
sudo grep testuser1 /etc/shadow
Étape 3: /etc/group
# Voir les groupes
cat /etc/group
# Format: groupname:x:GID:members
# Voir les groupes d'un utilisateur
groups testuser1
id testuser1
Exercice 5: Supprimer des Utilisateurs
Étape 1: userdel Basique
# Supprimer un utilisateur (garde le home)
sudo userdel testuser1
# Vérifier
id testuser1 # Ne devrait plus exister
ls -la /home/ # Home toujours là
Étape 2: Supprimer avec Home
# Supprimer utilisateur et home
sudo userdel -r testuser2
# Vérifier
ls -la /home/ # Home supprimé
Étape 3: Supprimer avec deluser (Ubuntu)
# deluser est plus sûr (Ubuntu)
sudo deluser testuser3
# Supprimer avec home
sudo deluser --remove-home testuser4
Exercice 6: Pratique Complète
Étape 1: Créer un Utilisateur Développeur
# Créer avec toutes les options
sudo useradd -m -s /bin/bash -G sudo,developers -c "Développeur" devuser
# Définir mot de passe
sudo passwd devuser
# Vérifier
id devuser
groups devuser
Étape 2: Script de Création
# Script pour créer un utilisateur
cat > create-user.sh << 'EOF'
#!/bin/bash
USERNAME=$1
FULLNAME=$2
GROUPS=$3
if [ -z "$USERNAME" ]; then
echo "Usage: $0 username [fullname] [groups]"
exit 1
fi
# Créer utilisateur
sudo useradd -m -s /bin/bash -c "$FULLNAME" "$USERNAME"
# Ajouter aux groupes si spécifiés
if [ -n "$GROUPS" ]; then
sudo usermod -aG "$GROUPS" "$USERNAME"
fi
# Définir mot de passe
sudo passwd "$USERNAME"
echo "Utilisateur $USERNAME créé"
id "$USERNAME"
EOF
chmod +x create-user.sh
# Utiliser
./create-user.sh "newuser" "Nouvel Utilisateur" "sudo,users"
Vérification
Checklist
Vérifiez que vous pouvez:
- Créer des utilisateurs (useradd, adduser)
- Modifier des utilisateurs (usermod)
- Gérer les mots de passe (passwd, chage)
- Comprendre /etc/passwd et /etc/shadow
- Supprimer des utilisateurs (userdel, deluser)
- Gérer les groupes d'utilisateurs
Questions de Réflexion
-
Quelle est la différence entre useradd et adduser?
- useradd: Bas niveau, moins interactif
- adduser: Haut niveau, plus convivial (Ubuntu)
-
Pourquoi /etc/shadow est-il séparé de /etc/passwd?
- Sécurité: /etc/passwd est lisible par tous
- /etc/shadow est protégé (mots de passe hashés)
-
Quand utiliser userdel -r?
- Quand on veut supprimer complètement l'utilisateur
- Attention: supprime aussi le répertoire home
Prochaines Étapes
- Lab 5.2: Gestion des Groupes
- Lab 5.3: Permissions Avancées
- Chapitre 5.1: Gestion des Utilisateurs
Lab créé le: Décembre 2024 - Testé sur Ubuntu 24.04