Les groupes d’utilisateurs sous Linux vous aident à définir un ensemble d’autorisations que vous pouvez ensuite imposer aux autres utilisateurs. Unix et Linux sont livrés avec des groupes d’utilisateurs préconfigurés et, en tant qu’administrateur, il est facile de créer des groupes supplémentaires pour mieux catégoriser et gérer les utilisateurs.


Mais avant de créer un nouveau groupe, vous voudriez en savoir plus sur ceux qui existent déjà. Heureusement, il existe plusieurs façons de lister tous les groupes d’utilisateurs présents sous Linux, et vous pouvez même voir la liste des groupes dont fait partie un utilisateur spécifique. Commençons par là.

Utilisation du fichier /etc/group

Le fichier /etc/group contient des informations sur tous les groupes d’utilisateurs locaux configurés sur une machine Linux. Le fichier /etc/group permet d’afficher les noms de groupe, les mots de passe, les identifiants de groupe et les membres associés à chaque groupe.

Affichez le contenu du fichier à l’aide de la commande cat :

 cat /etc/group 
list user groups etc group

Le résultat peut être déroutant au premier abord. Où sont les noms des groupes ? Et que sont ces « x » et ces deux-points dans le résultat ?

La première colonne (le texte avant le premier deux-points) est ce que vous cherchez. Vous pouvez visualiser une version simplifiée du fichier et n’afficher que les noms de groupes à l’aide de la commande cut :

 cat /etc/group | cut -d: -f1 
prettify etc group contents output linux

Cette liste simple est à la fois plus agréable à regarder et parfaite pour les scripts.

Vous pouvez également compter le nombre total de groupes locaux sur votre machine en utilisant wc :

 cat /etc/group | wc -l 

Pour rendre les choses intéressantes, créez un nouveau groupe à l’aide de la commande groupadd, puis affichez le nombre total de groupes d’utilisateurs sur votre système. Comme on peut s’en douter, le décompte augmentera d’une unité et vous pourrez voir le nom du groupe dans la liste de sortie.

Lister les groupes à l’aide de la commande getent

getent, abréviation de « get entries », est une commande Linux permettant d’afficher le contenu des fichiers d’informations système, également appelés bases de données, sous Linux. /etc/group, /etc/passwdet /etc/shadow sont de bons exemples de ces bases de données.

L’utilisation de la commande getent pour afficher les informations sur les groupes d’utilisateurs sous Linux est simple. Il suffit de taper getent suivi du fichier que vous souhaitez consulter. Dans ce cas, il s’agit du fichier de groupe.

 getent group 
getent group list user groups on linux

La sortie de « groupe getent« sera légèrement différente de celle de la cat /etc/group . En effet, getent récupère les informations sur les groupes dans d’autres bases de données similaires sur votre système (LDAP, par exemple).

Utilisez la commande cut pour analyser la sortie et n’afficher que les noms de groupes :

 getent group | cut -d: -f1 

La commande getent est polyvalente. Vous pouvez dresser la liste des noms de tous les utilisateurs sous Linux en récupérant toutes les entrées de la base de données /etc/passwd puis analyse la sortie pour trouver les noms d’utilisateurs.

Affichage de la liste des groupes pour un utilisateur spécifique Utilisation des groupes

Il est difficile de faire correspondre visuellement les noms d’utilisateurs avec leurs groupes en utilisant les méthodes précédentes. Si vous souhaitez uniquement afficher la liste des groupes dont fait partie un utilisateur particulier, utilisez plutôt la commande groups.

La syntaxe de base de la commande est la suivante :

 groups username 

Si vous ne spécifiez pas de nom d’utilisateur, la sortie affichera tous les groupes de l’utilisateur actuel. Mais par souci de clarté, il est préférable de fournir un nom d’utilisateur en argument.

Pour obtenir une liste de groupes pour un utilisateur nommé « testuser », exécutez :

 groups testuser 
vérifier les groupes d'un utilisateur sous linux

Les groupes simplifient le contrôle d’accès des utilisateurs sous Linux

Techniquement, l’utilisateur root est le propriétaire de l’ensemble du système et dispose d’autorisations qu’aucun autre utilisateur ne possède. Les groupes permettent au superutilisateur de classer les utilisateurs, de leur accorder des autorisations et d’imposer des restrictions pour les empêcher d’effectuer des opérations indésirables.

Au lieu d’accorder des autorisations à chaque utilisateur, vous pouvez créer un groupe et y ajouter tous les utilisateurs. Il vous suffit ensuite de gérer les autorisations pour ce groupe et les règles seront automatiquement imposées aux membres. C’est l’une des nombreuses façons de gérer les utilisateurs sous Linux et d’autres systèmes d’exploitation liés à Unix.