Chapitre 5.2 - Gestion des Groupes
Objectifs d'Apprentissage
À la fin de ce chapitre, vous serez capable de:
- Comprendre le système de groupes Linux
- Créer et supprimer des groupes
- Ajouter/retirer des utilisateurs des groupes
- Comprendre le groupe principal vs groupes secondaires
- Utiliser les groupes pour les permissions
Introduction
Les groupes permettent de regrouper des utilisateurs pour partager des permissions et des ressources.
Avantages:
- Permissions partagées
- Gestion simplifiée
- Accès contrôlé aux ressources
Types de Groupes
Groupe Principal (Primary Group)
Caractéristiques:
- Un utilisateur a un seul groupe principal
- Défini dans
/etc/passwd(GID) - Créé automatiquement avec l'utilisateur
- Généralement même nom que l'utilisateur
Groupes Secondaires (Supplementary Groups)
Caractéristiques:
- Un utilisateur peut appartenir à plusieurs groupes
- Définis dans
/etc/group - Permissions additionnelles
- Accès à ressources supplémentaires
Fichier /etc/group
Format
# Format: groupname:password:GID:members
root:x:0:
users:x:100:user1,user2
developers:x:1001:user1,user3,user4
sudo:x:27:user1,user2
www-data:x:33:
Champs:
- groupname: Nom du groupe
- password: x (dans /etc/gshadow, rarement utilisé)
- GID: Group ID
- members: Liste des membres (séparés par virgules)
Créer un Groupe
groupadd
# Groupe simple
sudo groupadd developers
# Avec GID spécifique
sudo groupadd -g 2000 developers
# Vérifier GID disponible
sudo groupadd -g 2000 developers # Erreur si existe
# Système (GID < 1000)
sudo groupadd -r systemgroup
Modifier un Groupe
groupmod
# Changer GID
sudo groupmod -g 2001 developers
# Renommer
sudo groupmod -n newname oldname
# Vérifier
getent group developers
Supprimer un Groupe
groupdel
# Supprimer groupe
sudo groupdel developers
# Note: Ne peut pas supprimer si groupe principal d'un utilisateur
Gérer les Membres
Ajouter un Utilisateur
# Ajouter à un groupe (garde autres groupes)
sudo usermod -aG developers user1
# -a: append (ajouter, ne pas remplacer)
# -G: groupes secondaires
# Vérifier
groups user1
id user1
Retirer un Utilisateur
# Retirer d'un groupe (manuellement)
# Éditer /etc/group ou utiliser gpasswd
sudo gpasswd -d user1 developers
Voir les Membres
# Membres d'un groupe
getent group developers
grep developers /etc/group
# Groupes d'un utilisateur
groups user1
id user1
groups # Utilisateur courant
Groupe Principal vs Secondaires
Changer Groupe Principal
# Changer groupe principal
sudo usermod -g developers user1
# Vérifier
id user1
# uid=1000(user1) gid=1001(developers) groups=1001(developers),1002(sudo)
Nouveaux Fichiers
Règle:
- Nouveaux fichiers créés avec le groupe principal de l'utilisateur
- Peut être changé avec
newgrptemporairement
# Changer groupe effectif temporairement
newgrp developers
# Vérifier
groups # developers devient premier
Commandes Utiles
getent
# Informations groupe
getent group developers
# Tous les groupes
getent group
# Vérifier si groupe existe
getent group developers && echo "Existe"
id
# Informations utilisateur
id
id user1
# Format: uid=1000(user1) gid=1000(user1) groups=1000(user1),27(sudo),1001(developers)
groups
# Groupes de l'utilisateur courant
groups
# Groupes d'un utilisateur
groups user1
Cas d'Usage Pratiques
Groupe pour Projet
# Créer groupe projet
sudo groupadd projet-alpha
# Ajouter membres
sudo usermod -aG projet-alpha dev1
sudo usermod -aG projet-alpha dev2
# Créer répertoire partagé
sudo mkdir /srv/projet-alpha
sudo chgrp projet-alpha /srv/projet-alpha
sudo chmod 775 /srv/projet-alpha
# Les membres peuvent maintenant collaborer
Groupe Administrateurs
# Ajouter au groupe sudo
sudo usermod -aG sudo user1
# Vérifier
groups user1
# user1 sudo
# Peut maintenant utiliser sudo
Résumé
Dans ce chapitre, vous avez appris:
Groupes: Regroupement d'utilisateurs pour permissions partagées
Types: Principal (un seul) vs Secondaires (plusieurs)
Fichiers: /etc/group pour configuration
Création: groupadd
Modification: groupmod
Membres: usermod -aG, gpasswd -d
Commandes: getent, id, groups
Prochaines Étapes
Chapitre 5.3: Permissions Avancées
Chapitre 5.4: ACL (Access Control Lists)
Chapitre créé le: Décembre 2024