Gérer les groupes Linux avec groupadd, usermod et groupdel

CompTIABeginner
Pratiquer maintenant

Introduction

Dans cet atelier, vous allez acquérir les compétences fondamentales pour administrer les groupes d'utilisateurs dans un environnement Linux. Vous pratiquerez l'utilisation des principaux utilitaires en ligne de commande dédiés à la gestion des groupes, à savoir groupadd pour la création, usermod pour la modification des membres, et groupdel pour la suppression de groupes du système.

Vous suivrez un flux de travail concret, en commençant par la création d'un nouveau groupe. Vous ajouterez ensuite un utilisateur existant à ce groupe et utiliserez des commandes d'inspection telles que grep et groups pour valider vos modifications. Pour conclure l'exercice, vous vous entraînerez à supprimer le groupe et à confirmer sa disparition, couvrant ainsi l'intégralité du cycle de vie de la gestion des groupes.

Créer un nouveau groupe Linux avec groupadd

Au cours de cette étape, vous allez apprendre à créer un nouveau groupe d'utilisateurs sur votre système Linux. Sous Linux, les groupes constituent un mécanisme essentiel pour gérer les permissions de plusieurs utilisateurs simultanément. Au lieu d'attribuer des droits individuellement à chaque personne, vous pouvez les définir au niveau d'un groupe ; tout utilisateur membre de ce groupe héritera alors automatiquement de ces permissions. Cette approche simplifie considérablement l'administration système, en particulier dans les environnements comptant de nombreux utilisateurs.

Pour cet exercice, imaginons que vous êtes administrateur système pour une entreprise et que vous devez créer un groupe pour une nouvelle équipe de recherche et développement. Nous utiliserons la commande groupadd pour y parvenir. Cette commande nécessite des privilèges administratifs, que vous pouvez obtenir via sudo.

Tout d'abord, ouvrez votre terminal. Il devrait s'ouvrir dans le répertoire par défaut, ~/project. Créons maintenant un groupe nommé research.

Exécutez la commande suivante :

sudo groupadd research

La commande sudo élève vos privilèges pour effectuer cette tâche administrative. groupadd est la commande de création, et research est le nom que nous avons choisi pour notre nouveau groupe.

Si la commande réussit, elle ne renverra aucun message. Pour confirmer la création du groupe, vous pouvez consulter le fichier /etc/group. Ce fichier stocke les informations relatives à tous les groupes du système. Nous pouvons utiliser la commande grep pour rechercher notre groupe fraîchement créé dans ce fichier.

grep research /etc/group

Vous devriez voir apparaître une ligne correspondant au groupe research. Le format utilisé est nom_du_groupe:mot_de_passe_fictif:id_du_groupe:membres. Votre identifiant de groupe (GID) peut différer de l'exemple ci-dessous, ce qui est normal puisque le système l'attribue automatiquement.

research:x:5003:

Ce résultat confirme que le groupe research existe désormais sur votre système, prêt à accueillir des utilisateurs.

Ajouter un utilisateur à un groupe secondaire avec usermod

Dans cette étape, vous allez ajouter un utilisateur existant au groupe research que vous venez de créer. Sous Linux, chaque utilisateur possède un groupe primaire et peut appartenir à plusieurs groupes secondaires (également appelés groupes supplémentaires). Cela permet une gestion souple des permissions. Maintenant que le groupe research est prêt, nous allons y ajouter l'utilisateur actuel, labex, en tant que groupe secondaire. Cela donnera à l'utilisateur labex tous les droits associés au groupe research sans modifier son groupe principal.

Pour modifier les appartenances d'un utilisateur, on utilise la commande usermod. C'est un utilitaire puissant pour changer les détails d'un compte utilisateur.

Nous utiliserons usermod avec les options -aG :

  • -G : Spécifie la nouvelle liste des groupes secondaires.
  • -a : Signifie "append" (ajouter). C'est une option cruciale. Elle ajoute l'utilisateur au(x) groupe(s) spécifié(s) sans le retirer de ses groupes actuels. Si vous oubliez le -a, l'utilisateur sera supprimé de tous les autres groupes secondaires qui ne figurent pas dans votre commande.

Dans votre terminal, exécutez la commande suivante pour ajouter l'utilisateur labex au groupe research :

sudo usermod -aG research labex

Cette commande nécessite sudo car elle modifie des informations utilisateur au niveau du système. research est le groupe de destination, et labex est l'utilisateur modifié. Comme pour groupadd, cette commande ne produit aucune sortie en cas de succès.

Vous pouvez vérifier immédiatement le changement en inspectant à nouveau le fichier /etc/group.

grep research /etc/group

Vous devriez maintenant voir l'utilisateur labex listé à la fin de la ligne correspondant au groupe research.

research:x:5003:labex

Cela confirme que labex est désormais membre du groupe research.

Inspecter les appartenances aux groupes avec grep et groups

Ici, vous allez découvrir des méthodes plus efficaces pour vérifier les groupes auxquels appartient un utilisateur. Bien que nous ayons déjà utilisé grep sur le fichier /etc/group pour voir les membres d'un groupe spécifique, il existe des moyens plus directs pour lister tous les groupes d'un utilisateur donné. C'est une tâche courante pour les administrateurs afin de valider les permissions et les configurations.

Utilisons d'abord grep à nouveau, mais cette fois pour trouver tous les groupes secondaires dont labex est membre. En cherchant le nom d'utilisateur dans le fichier /etc/group, vous verrez toutes les entrées où labex apparaît.

Exécutez cette commande dans votre terminal :

grep labex /etc/group

La sortie affichera chaque ligne de /etc/group contenant la chaîne "labex". Cela inclura le groupe research que nous avons ajouté, ainsi que d'autres groupes secondaires par défaut. Votre affichage peut varier selon la configuration de votre système.

sudo:x:27:labex
ssl-cert:x:121:labex
labex:x:5000:
public:x:5002:labex
research:x:5003:labex

Bien que cette méthode fonctionne, la commande groups est beaucoup plus directe et lisible. Elle est spécifiquement conçue pour lister tous les groupes (primaires et secondaires) d'un utilisateur.

Pour voir tous les groupes de l'utilisateur labex, lancez la commande suivante :

groups labex

Cette commande fournit un résumé clair sur une seule ligne.

labex : labex sudo ssl-cert public research

Dans ce résultat, le nom avant les deux-points (labex) est l'utilisateur interrogé. La liste qui suit montre tous ses groupes. Le premier groupe de la liste (labex) est le groupe primaire de l'utilisateur. Tous les suivants (sudo, ssl-cert, public, research) sont ses groupes secondaires. Cette commande est souvent le moyen le plus rapide d'obtenir une vue d'ensemble complète.

Supprimer un groupe avec groupdel et vérifier sa suppression

Dans cette dernière étape, vous apprendrez à retirer un groupe du système. C'est une opération d'administration classique lorsqu'une équipe est dissoute ou qu'un projet se termine, rendant le groupe associé inutile. Pour supprimer un groupe, nous utilisons la commande groupdel.

Tout comme la création, la suppression d'un groupe est une action administrative qui requiert les privilèges sudo. Il est important de noter que vous ne pouvez pas supprimer le groupe primaire d'un utilisateur existant. Vous devriez d'abord changer le groupe primaire de l'utilisateur avant de pouvoir supprimer l'ancien. Cependant, comme research n'était qu'un groupe secondaire pour labex, nous pouvons le supprimer sans encombre.

Dans votre terminal, exécutez la commande suivante pour supprimer le groupe research :

sudo groupdel research

La commande groupdel, lorsqu'elle réussit, ne produit aucun message. Elle retire simplement l'entrée du groupe de la base de données système, principalement du fichier /etc/group.

Pour confirmer que le groupe a bien été supprimé, nous pouvons réutiliser la commande grep.

grep research /etc/group

Cette fois, la commande ne devrait produire aucune sortie. Elle vous rendra immédiatement la main sur l'invite de commande. Cette absence de résultat confirme que la ligne contenant research a été retirée du fichier /etc/group, et par conséquent, que le groupe n'existe plus sur le système.

Résumé

Dans cet atelier, vous avez exploré les bases de la gestion des groupes d'utilisateurs sous Linux. Vous avez commencé par créer un nouveau groupe nommé research à l'aide de la commande sudo groupadd, un outil essentiel pour organiser les utilisateurs et simplifier le contrôle des accès. Pour valider cette création, vous avez inspecté le fichier /etc/group avec grep, confirmant l'exactitude de la nouvelle entrée.

L'atelier a également couvert le cycle de vie complet de l'administration des groupes. Vous avez appris à intégrer un utilisateur existant dans un groupe secondaire via usermod et à vérifier ces appartenances avec les outils grep et groups. Enfin, vous avez pratiqué la suppression d'un groupe avec groupdel et vérifié sa disparition effective, consolidant ainsi votre compréhension des tâches fondamentales de gestion des groupes.