Aller au contenu principal

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:

  1. groupname: Nom du groupe
  2. password: x (dans /etc/gshadow, rarement utilisé)
  3. GID: Group ID
  4. 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 newgrp temporairement
# 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