Chapitre 5.1 - Gestion des Utilisateurs
Objectifs d'Apprentissage
À la fin de ce chapitre, vous serez capable de:
- Comprendre le système d'utilisateurs Linux
- Créer et supprimer des utilisateurs
- Gérer les groupes
- Comprendre les fichiers de configuration (/etc/passwd, /etc/group)
Introduction
Linux est un système multi-utilisateurs. Chaque utilisateur a son propre compte avec des permissions et ressources spécifiques.
Types d'Utilisateurs
Root (Superutilisateur)
Caractéristiques:
- UID: 0 (toujours)
- Pouvoirs: Accès complet au système
- Danger: Peut tout modifier/supprimer
- Usage: Administration système uniquement
Utilisateurs Normaux
Caractéristiques:
- UID: Généralement ≥ 1000
- Pouvoirs: Limités à leurs fichiers
- Home:
/home/username - Usage: Utilisateurs réguliers
Utilisateurs Système
Caractéristiques:
- UID: 1-999 (selon distribution)
- Pouvoirs: Limités, pour services
- Home: Souvent
/var/lib/serviceou/ - Usage: Services système (www-data, mysql, etc.)
Fichiers de Configuration
/etc/passwd
Contient les informations des utilisateurs:
# Format: username:password:UID:GID:comment:home:shell
root:x:0:0:root:/root:/bin/bash
user1:x:1000:1000:User One:/home/user1:/bin/bash
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
Champs:
- Username: Nom d'utilisateur
- Password: x (dans /etc/shadow)
- UID: User ID
- GID: Group ID principal
- Comment: Nom complet, description
- Home: Répertoire home
- Shell: Shell par défaut
/etc/shadow
Contient les mots de passe cryptés:
# Format: username:password:last_change:min:max:warn:expire:disable
user1:$6$salt$hash:19000:0:99999:7:::
Sécurité:
- Lisible seulement par root
- Mots de passe cryptés
- Politiques de mots de passe
/etc/group
Contient les informations des groupes:
# Format: groupname:password:GID:members
root:x:0:
users:x:100:user1,user2
developers:x:1001:user1,user3
Créer un Utilisateur
useradd
# Utilisateur simple
sudo useradd username
# Avec options
sudo useradd -m -s /bin/bash -c "Full Name" username
# -m: Créer home directory
# -s: Shell
# -c: Comment/description
# Avec groupe principal
sudo useradd -g developers username
# Avec groupes supplémentaires
sudo useradd -G sudo,developers username
# UID spécifique
sudo useradd -u 2000 username
adduser (Ubuntu/Debian)
Interface plus conviviale:
sudo adduser username
# Pose des questions interactives
Modifier un Utilisateur
usermod
# Changer le shell
sudo usermod -s /bin/zsh username
# Changer le home
sudo usermod -d /new/home username
sudo usermod -m -d /new/home username # Déplacer fichiers
# Ajouter à un groupe
sudo usermod -aG sudo username
# Changer UID
sudo usermod -u 2001 username
# Verrouiller compte
sudo usermod -L username
# Déverrouiller
sudo usermod -U username
Supprimer un Utilisateur
userdel
# Supprimer utilisateur
sudo userdel username
# Supprimer avec home directory
sudo userdel -r username
# Forcer (si processus actifs)
sudo userdel -f -r username
Gestion des Groupes
Créer un Groupe
# Créer groupe
sudo groupadd developers
# Avec GID spécifique
sudo groupadd -g 2000 developers
Modifier un Groupe
# Changer GID
sudo groupmod -g 2001 developers
# Renommer
sudo groupmod -n newname oldname
Supprimer un Groupe
sudo groupdel developers
Ajouter/Retirer d'un Groupe
# Ajouter utilisateur à groupe
sudo usermod -aG developers username
# Voir les groupes d'un utilisateur
groups username
id username
Commandes Utiles
# Qui suis-je?
whoami
id
# Changer d'utilisateur
su username
su - username # Avec environnement complet
# Changer temporairement
sudo -u username commande
# Voir utilisateurs connectés
who
w
users
# Voir historique connexions
last
lastlog
Résumé
Dans ce chapitre, vous avez appris:
Types: Root (UID 0), Utilisateurs (UID ≥1000), Système (1-999)
Fichiers: /etc/passwd, /etc/shadow, /etc/group
Création: useradd, adduser
Modification: usermod
Suppression: userdel
Groupes: groupadd, groupmod, groupdel
Commandes: whoami, id, su, sudo
Prochaines Étapes
Chapitre 5.2: Gestion des Groupes
Chapitre 5.3: Permissions Avancées
Chapitre créé le: Décembre 2024