CodeGym /Cours /Docker SELF /Gestion des groupes : création, ajout et suppression d'ut...

Gestion des groupes : création, ajout et suppression d'utilisateurs des groupes (`groupadd`, `usermod -aG`, `groups`)

Docker SELF
Niveau 2 , Leçon 2
Disponible

Gestion des groupes : création, ajout et suppression d'utilisateurs des groupes groupadd, usermod -aG, groups

1. Introduction aux groupes dans Linux

Les groupes dans le système d'exploitation Linux permettent de regrouper des utilisateurs par intérêts, responsabilités ou d'autres critères, et de leur attribuer des droits d'accès communs. Aujourd'hui, on va voir comment travailler avec les groupes, y ajouter des utilisateurs et gérer tout ça de manière efficace. Prêts ? Alors c'est parti !

Commençons par une analogie simple. Imagine que tu joues à un jeu en ligne avec des guildes. Dans chaque guilde, il y a des membres qui ont accès à des ressources communes : entrepôt, chat et salles stratégiques. Dans Linux, les groupes jouent le même rôle. Les groupes permettent :

  1. De simplifier la gestion des droits d'accès aux fichiers et ressources pour plusieurs utilisateurs en même temps.
  2. De diviser les utilisateurs en équipes selon leur rôle ou tâche.
  3. De minimiser les maux de tête de l'administrateur système.

Quand le système vérifie si un utilisateur peut accéder à un fichier, il regarde trois niveaux de droits : propriétaire du fichier, groupe et les autres. Si l'utilisateur fait partie du groupe spécifié pour le fichier et que le groupe a les droits d'accès, alors tout le monde est content : l'utilisateur est satisfait et l'admin est tranquille.


2. Commandes de base pour la gestion des groupes

Linux propose quelques outils simples et puissants pour travailler avec les groupes : groupadd, usermod, groups, groupdel et gpasswd. On va les examiner pas à pas.

1. Création de nouveaux groupes avec groupadd

Créer un nouveau groupe dans le système est super simple. Pour cela, on utilise la commande groupadd. Par exemple, si on veut créer un groupe nommé developers, on fait ceci :

sudo groupadd developers

Et voilà ! Le groupe est créé. Pour vérifier qu'il existe bien, on peut jeter un œil au fichier /etc/group — c'est comme un carnet de contacts pour tous les groupes du système :

cat /etc/group | grep developers

Vous verrez une ligne ressemblant à ceci :

developers:x:1001:

Voici ce que cela signifie :

  • developers — le nom du groupe.
  • x — champ pour le mot de passe (généralement inutilisé).
  • 1001 — c'est l'ID unique du groupe (GID).
  • L'espace vide après le deuxième deux-points — c'est ici que sont ajoutés les utilisateurs du groupe.
Petite blague pour détendre :

Si le GID est le numéro de téléphone du groupe, alors /etc/group est son répertoire téléphonique.


2. Ajouter un utilisateur à un groupe avec usermod -aG

Maintenant, embauchons des développeurs dans notre nouveau groupe developers. Pour cela, on utilise la commande usermod avec l'option -aG. Par exemple, ajoutons l'utilisateur john :

sudo usermod -aG developers john

Voici ce qu'il faut retenir :

  • L'option -a signifie append (ajouter). Si vous l'oubliez, vous risquez de supprimer accidentellement l'utilisateur de tous les groupes sauf celui spécifié.
  • L'option -G spécifie le groupe auquel l'utilisateur est ajouté.

Pour vérifier à quels groupes appartient l'utilisateur, on peut utiliser la commande groups :

groups john

Ou de manière un peu plus détaillée, avec la commande id :

id john

La sortie ressemblera à quelque chose comme ceci :

uid=1002(john) gid=1002(john) groups=1002(john),1001(developers)

3. Retirer un utilisateur d'un groupe

Quand l'un de vos "développeurs" décide de changer de carrière pour devenir barista, il faut le retirer du groupe. Pour cela, on utilise la commande gpasswd :

sudo gpasswd -d john developers

Après cela, l'utilisateur john ne fera plus partie du groupe developers. N'oubliez pas de vérifier avec groups john pour être sûr qu'il est bien parti.


4. Supprimer des groupes avec groupdel

Si un groupe n'est plus utile, on peut le supprimer avec la commande groupdel. Par exemple :

sudo groupdel developers
Attention !

Si des utilisateurs restent dans le groupe, cela ne les affectera pas. Ils perdront simplement la possibilité de se référer à ce groupe.


3. Tâche pratique

Essayons de créer et configurer des groupes comme de vrais admins.

Scénario :

  1. Créer un groupe designers.
  2. Créer deux nouveaux utilisateurs : alice et bob.
  3. Ajouter ces utilisateurs au groupe designers.
  4. Vérifiez que les utilisateurs ont bien été ajoutés au groupe.
  5. Supprimez l'utilisateur alice du groupe designers.

Solution :

Étape 1. Créer un groupe

sudo groupadd designers

Étape 2. Créer des utilisateurs

sudo adduser alice
sudo adduser bob

Étape 3. Ajouter des utilisateurs au groupe

sudo usermod -aG designers alice
sudo usermod -aG designers bob

Étape 4. Vérifier l'ajout

groups alice
groups bob

Étape 5. Supprimer alice du groupe

sudo gpasswd -d alice designers

4. Particularités et erreurs typiques

Travailler avec des groupes, c'est comme des chatons : ça a l'air simple et mignon, mais dès que tu détournes le regard, ils foutent le bazar :

  1. L'option -aG. Tu oublies d'ajouter -a, et bam, tu vires l'utilisateur de tous les groupes sauf le nouveau. C'est particulièrement "fun" si cet utilisateur faisait partie d'un groupe système comme sudo.

  2. Les changements prennent effet après une reconnexion. Si l'utilisateur ne voit pas son nouveau groupe tout de suite après l'ajout — pas de panique ! Il doit se déconnecter et se reconnecter pour que les nouveaux droits soient appliqués.

  3. Respecte les conventions de nommage. Évite les espaces ou les caractères spéciaux dans les noms de groupes. Des noms comme awesome@group fonctionnent mal et font souffrir les administrateurs.

  4. Vérifie les permissions d'accès. Le groupe est créé et ajouté ? Super, mais si les fichiers n'ont pas les droits pour le groupe, tu laisses les utilisateurs déçus. Retenez cette règle : les droits se vérifient et se configurent séparément.

Dans la vraie vie

Dans des projets réels, la gestion des groupes est utilisée pour :

  • Diviser les droits d'accès aux ressources serveur entre les développeurs, les testeurs et les administrateurs.
  • Configurer des répertoires de travail partagés pour les équipes.
  • Gérer l'accès aux bases de données, fichiers de configuration, scripts et, évidemment, la machine à café (bon, OK, Linux ne sauvera pas encore ce dernier point).

Maintenant que tu sais comment créer et gérer des groupes dans Linux, tu es prêt pour une administration élégante et efficace de ton système.

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION