Comment vérifier si un groupe existe sous Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à vérifier si un groupe existe sous Linux en utilisant différentes méthodes. Nous allons explorer l'interrogation des informations de groupe avec la commande getent group, qui récupère les entrées des bases de données Name Service Switch (NSS).

De plus, vous apprendrez à examiner directement le fichier /etc/group, qui stocke les informations de groupe, et à utiliser la commande grep pour rechercher efficacement des groupes spécifiques dans ce fichier. Ces techniques vous doteront des compétences nécessaires pour vérifier l'existence et les détails des groupes sur votre système Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/UserandGroupManagementGroup -.-> linux/groups("Group Displaying") subgraph Lab Skills linux/cat -.-> lab-558718{{"Comment vérifier si un groupe existe sous Linux"}} linux/grep -.-> lab-558718{{"Comment vérifier si un groupe existe sous Linux"}} linux/groups -.-> lab-558718{{"Comment vérifier si un groupe existe sous Linux"}} end

Interroger les groupes avec getent group

Dans cette étape, nous allons explorer comment interroger les informations sur les groupes de votre système Linux en utilisant la commande getent. La commande getent est un outil puissant qui récupère les entrées des bases de données Name Service Switch (NSS), y compris les informations sur les utilisateurs et les groupes.

Pour interroger les informations sur un groupe spécifique, vous pouvez utiliser la syntaxe suivante :

getent group [group_name]

Essayons d'interroger les informations pour le groupe labex. Tapez la commande suivante dans votre terminal et appuyez sur Entrée :

getent group labex

Vous devriez voir une sortie similaire à celle-ci :

labex:x:5000:labex

Cette sortie fournit des détails sur le groupe labex :

  • labex : Le nom du groupe.
  • x : Un espace réservé, historiquement utilisé pour le mot de passe crypté (maintenant stocké ailleurs).
  • 5000 : L'identifiant de groupe (Group ID - GID).
  • labex : Une liste des utilisateurs qui sont membres de ce groupe (dans ce cas, l'utilisateur labex est le membre principal).

Maintenant, essayons d'interroger les informations pour le groupe sudo. Ce groupe est important car les utilisateurs du groupe sudo peuvent exécuter des commandes avec des privilèges de superutilisateur.

Tapez la commande suivante et appuyez sur Entrée :

getent group sudo

Vous devriez voir une sortie similaire à celle-ci :

sudo:x:27:labex

Cela montre que le groupe sudo a un GID de 27 et que l'utilisateur labex est un membre.

La commande getent group est un moyen rapide et fiable de rechercher des informations sur des groupes spécifiques de votre système.

Cliquez sur Continuer pour passer à l'étape suivante.

Rechercher un groupe dans le fichier /etc/group

Dans l'étape précédente, nous avons utilisé getent group pour interroger les informations sur les groupes. Maintenant, examinons le fichier réel où ces informations sont souvent stockées : /etc/group.

Le fichier /etc/group est un fichier texte brut qui contient la liste de tous les groupes du système. Chaque ligne de ce fichier représente un seul groupe et contient des informations similaires à celles que nous a montrées getent group.

Vous pouvez afficher le contenu de ce fichier en utilisant un utilitaire en ligne de commande comme cat. cat est utilisé pour concaténer et afficher le contenu des fichiers.

Tapez la commande suivante dans votre terminal et appuyez sur Entrée :

cat /etc/group

Vous verrez une longue liste de groupes, un par ligne. Chaque ligne suit le format :

group_name:password_placeholder:GID:user_list

Par exemple, vous pourriez voir des lignes telles que :

root:x:0:
daemon:x:1:
...
labex:x:5000:labex
sudo:x:27:labex
...

Comme vous pouvez le voir, les informations pour les groupes labex et sudo sont présentes dans ce fichier, ce qui correspond à ce que getent group a affiché.

Afficher l'ensemble du fichier /etc/group peut être écrasant, surtout sur les systèmes avec de nombreux groupes. Dans l'étape suivante, nous apprendrons à rechercher des groupes spécifiques dans ce fichier en utilisant la commande grep.

Cliquez sur Continuer pour passer à l'étape suivante.

Vérifier un groupe avec la commande grep

Dans l'étape précédente, nous avons affiché le contenu entier du fichier /etc/group. Bien que cela soit informatif, ce n'est pas efficace si vous ne cherchez que les informations sur un groupe spécifique. C'est là que la commande grep devient utile.

grep est un puissant utilitaire en ligne de commande pour rechercher dans des ensembles de données texte brut les lignes qui correspondent à une expression régulière. En termes plus simples, il vous aide à trouver les lignes dans un fichier qui contiennent un mot ou un motif spécifique.

Nous pouvons combiner cat et grep en utilisant un tuyau (|). Le tuyau envoie la sortie de la commande de gauche en tant qu'entrée à la commande de droite.

Pour rechercher la ligne contenant le groupe labex dans le fichier /etc/group, tapez la commande suivante et appuyez sur Entrée :

cat /etc/group | grep labex

Cette commande affiche d'abord le contenu de /etc/group en utilisant cat, puis grep labex recherche dans cette sortie les lignes contenant le mot "labex".

Vous devriez voir la ligne pour le groupe labex affichée :

labex:x:5000:labex

Maintenant, essayons de rechercher le groupe sudo :

cat /etc/group | grep sudo

Cela affichera la ligne pour le groupe sudo :

sudo:x:27:labex

L'utilisation de grep avec cat est un modèle courant sous Linux pour filtrer la sortie. Cela vous permet de trouver rapidement les informations spécifiques dont vous avez besoin dans de grands fichiers ou les sorties de commandes.

Vous avez maintenant appris trois façons d'obtenir des informations sur les groupes : whoami (pour le groupe principal de votre propre utilisateur), id (pour les groupes de votre utilisateur), getent group (pour les détails d'un groupe spécifique) et grep sur /etc/group (pour rechercher dans le fichier de groupes).

Cliquez sur Continuer pour terminer ce laboratoire.

Résumé

Dans ce laboratoire, nous avons appris à vérifier si un groupe existe sous Linux en utilisant plusieurs méthodes. Nous avons d'abord exploré la commande getent group, un puissant utilitaire pour interroger les informations sur les groupes dans les bases de données NSS (Name Service Switch), en montrant comment récupérer des détails tels que le nom du groupe, le GID (Group ID) et les membres pour des groupes spécifiques comme labex et sudo. Cette méthode offre un moyen rapide et fiable de rechercher des informations sur les groupes.