Aller au contenu principal

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​

  1. Quelle est la différence entre useradd et adduser?

    • useradd: Bas niveau, moins interactif
    • adduser: Haut niveau, plus convivial (Ubuntu)
  2. 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)
  3. 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