GNU/Linux >> Tutoriels Linux >  >> Linux

Comment lister les groupes sous Linux

Sous Linux, un groupe est un ensemble d'utilisateurs. L'objectif principal des groupes est de définir un ensemble de privilèges tels que des autorisations de lecture, d'écriture ou d'exécution pour une ressource donnée qui peuvent être partagées entre les utilisateurs du groupe. Les utilisateurs peuvent être ajoutés à un groupe existant pour utiliser les privilèges qu'il accorde.

Ce didacticiel explique comment afficher tous les groupes dont un utilisateur est membre. Nous expliquerons également comment lister tous les membres d'un groupe.

Groupes Linux #

Il existe deux types de groupes auxquels un utilisateur peut appartenir :

  • Groupe principal ou groupe de connexion – est le groupe affecté aux fichiers créés par l'utilisateur. Généralement, le nom du groupe principal est le même que le nom de l'utilisateur. Chaque utilisateur doit appartenir à exactement un groupe principal.

  • Groupe secondaire ou complémentaire - utilisé pour accorder certains privilèges à un ensemble d'utilisateurs. Un utilisateur peut être membre de zéro ou plusieurs groupes secondaires.

Répertorier tous les groupes dont un utilisateur est membre #

Il existe plusieurs façons de connaître les groupes auxquels appartient un utilisateur.

Le groupe de l'utilisateur principal est stocké dans le /etc/passwd fichier et les groupes supplémentaires, le cas échéant, sont répertoriés dans le /etc/group fichier.

Une façon de trouver les groupes de l'utilisateur est de lister le contenu de ces fichiers en utilisant cat , less ou grep . Une autre option plus simple consiste à utiliser une commande dont le but est de fournir des informations sur les utilisateurs et les groupes du système.

Utiliser les groups commande #

La commande la plus mémorable pour lister tous les groupes dont un utilisateur est membre est le groups commande. Lorsqu'elle est exécutée sans argument, la commande imprimera une liste de tous les groupes auxquels appartient l'utilisateur actuellement connecté :

groups

Le premier groupe est le groupe principal.

john adm cdrom sudo dip plugdev lpadmin sambashare

Pour obtenir une liste de tous les groupes auxquels appartient un utilisateur spécifique, fournissez le nom d'utilisateur aux groups commande en argument :

groups linuxize

Comme avant, le premier groupe est le groupe principal.

linuxize : linuxize sudo

Utilisation de l'id commande #

L'id La commande affiche des informations sur l'utilisateur spécifié et ses groupes. Si le nom d'utilisateur est omis, il affiche des informations pour l'utilisateur actuel.

Par exemple pour obtenir des informations sur l'utilisateur linuxize vous taperiez :

id linuxize

La commande affichera l'ID utilisateur (uid ), le groupe principal de l'utilisateur (gid ) et les groupes secondaires de l'utilisateur (groups )

uid=1001(linuxize) gid=1001(linuxize) groups=1001(linuxize),27(sudo)

Pour imprimer uniquement les noms au lieu des numéros, utilisez le -n option. Option -g n'imprimera que le groupe primaire et -G tous les groupes.

La commande suivante imprimera les noms des groupes dont l'utilisateur actuel est membre :

id -nG
john adm cdrom sudo dip plugdev lpadmin sambashare

Répertorier tous les membres d'un groupe #

Pour lister tous les membres d'un groupe, utilisez le getent group commande suivie du nom du groupe.

Par exemple, pour connaître les membres d'un groupe portant le nom developers vous utiliseriez la commande suivante :

getent group developers

Si le groupe existe, la commande imprimera le groupe et tous ses membres :

developers:x:126:frank,mary

S'il n'y a pas de sortie, cela signifie que le groupe n'existe pas.

Répertorier tous les groupes #

Pour voir tous les groupes présents sur le système, ouvrez simplement le /etc/group dossier. Chaque ligne de ce fichier représente des informations pour un groupe.

less /etc/group

Une autre option consiste à utiliser le getent commande qui affiche les entrées des bases de données configurées dans /etc/nsswitch.conf fichier incluant le group base de données que nous pouvons utiliser pour interroger une liste de tous les groupes.

Pour obtenir une liste de tous les groupes, tapez la commande suivante :

getent group

La sortie est la même que lors de l'affichage du contenu de /etc/group dossier. Si vous utilisez LDAP pour l'authentification des utilisateurs, le getent affichera tous les groupes de /etc/group fichier et base de données LDAP.

Vous pouvez également utiliser awk ou cut pour n'imprimer que le premier champ contenant le nom du groupe :

getent group | awk -F: '{ print $1}'
getent group | cut -d: -f1

Conclusion #

Dans ce didacticiel, vous avez appris à rechercher les groupes dont un utilisateur est membre. Les mêmes commandes s'appliquent à toutes les distributions Linux, y compris Ubuntu, CentOS, RHEL, Debian et Linux Mint.

N'hésitez pas à laisser un commentaire si vous avez des questions.


Linux
  1. Comment utiliser la commande Linux SS

  2. Comment ajouter un utilisateur à un groupe sous Linux

  3. Comment ajouter/lister/supprimer un groupe ?

  4. Lister les membres d'un groupe sous Linux

  5. Comment lister tous les utilisateurs d'un groupe Linux ?

Comment lister les disques sous Linux

Comment répertorier les services sous Linux

Comment répertorier les utilisateurs et les groupes sous Linux

Comment lister tous les utilisateurs d'un groupe sous Linux

Commandes de gestion de groupe sous Linux

Comment lister tous les groupes sous Linux ?