GNU/Linux >> Tutoriels Linux >  >> Linux

Comment lister les membres d'un groupe sous Linux

Tous les utilisateurs d'un système Linux doivent être membres d'au moins un groupe. Ce groupe est appelé groupe principal. Si un utilisateur n'a pas de groupe principal, il ne peut pas se connecter. Outre le groupe principal, les utilisateurs peuvent également être membres de groupes supplémentaires. Le paramètre de groupe principal est stocké dans "/etc/passwd file" . Le nom du groupe principal est spécifié dans le 4e champ de ce fichier. Les paramètres des autres groupes (secondaires) sont stockés dans "/etc/group" dossier. Ce didacticiel explique différentes manières de rechercher et de répertorier tous les groupes et de répertorier les membres d'un groupe dans les systèmes d'exploitation Linux et Unix.

Répertorier tous les groupes sous Linux

Avant de lister tous les utilisateurs appartenant à un groupe, cherchons d'abord la liste des groupes disponibles en utilisant "compgen" commande. Compgen est intégré à BASH pour manipuler les fonctions de complétion programmables.

Pour répertorier tous les groupes disponibles dans un système Linux, exécutez "compgen" commande avec -g comme ci-dessous :

$ compgen -g

Exemple de résultat :

root
daemon
bin
sys
adm
tty
disk
lp
mail
news
uucp
man
proxy
.
.
.
nova
rdma
libvirt
libvirt-qemu
libvirt-dnsmasq
cockpit-ws
cockpit-wsinstance
libvirtdbus
root
nogroup

Répertorier tous les groupes sous Linux à l'aide de la commande compgen

Vous pouvez également obtenir la liste de tous les groupes en utilisant "getent" commande :

$ getent group

Exemple de résultat :

root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,sk
tty:x:5:syslog
disk:x:6:sk
lp:x:7:
mail:x:8:
news:x:9:
.
.
.
nova:x:134:
rdma:x:135:
libvirt:x:136:sk,libvirtdbus
libvirt-qemu:x:64055:libvirt-qemu
libvirt-dnsmasq:x:137:
cockpit-ws:x:138:
cockpit-wsinstance:x:139:
libvirtdbus:x:998:
root:x:0:
nogroup:x:65534:

Répertorier tous les groupes sous Linux à l'aide de la commande getent

Le premier champ du fichier "/etc/group" est le nom du groupe. Donc, nous pouvons utiliser "awk" ou "couper" commandes pour imprimer uniquement le premier champ contenant le nom du groupe comme ci-dessous :

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

Si vous souhaitez afficher les groupes page par page, utilisez "plus" ou "moins" commande comme ci-dessous :

$ more /etc/group 
$ less /etc/group 

Maintenant, vérifions les membres d'un groupe.

Répertorier les membres d'un groupe sous Linux

Il existe plusieurs façons de trouver les membres du groupe sous Linux. Les méthodes que nous avons utilisées ici pour identifier les membres d'un groupe sont données ci-dessous :

  1. en utilisant le fichier "/etc/group",
  2. à l'aide de la commande "getent",
  3. à l'aide de la commande "groupmems",
  4. à l'aide de la commande "membres",
  5. en utilisant la commande "lid".

1. Lister les membres d'un groupe en utilisant le fichier /etc/group

Lorsqu'un groupe est créé, les informations du groupe sont stockées dans le "/etc/group" dossier. Examinons le contenu de ce fichier en utilisant "cat" commande :

$ cat /etc/group

Exemple de résultat :

root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:syslog,sk
tty:x:5:syslog
disk:x:6:sk
lp:x:7:
mail:x:8:
news:x:9:
.
.
.
systemd-coredump:x:999:
nova:x:134:
rdma:x:135:
libvirt:x:136:sk,libvirtdbus
libvirt-qemu:x:64055:libvirt-qemu
libvirt-dnsmasq:x:137:
cockpit-ws:x:138:
cockpit-wsinstance:x:139:
libvirtdbus:x:998:

Afficher les informations sur les groupes Linux

Comme je l'ai mentionné précédemment, le premier champ dans "/etc/group" est réservé au nom du groupe. Comme vous pouvez le voir dans la sortie ci-dessus, un système Linux peut contenir plusieurs groupes.

Pour afficher les membres d'un groupe spécifique sur une machine Linux, utilisez "grep" commande pour filtrer les détails du groupe à partir du fichier "/etc/group" comme ci-dessous :

$ grep '^sudo' /etc/group

Ou,

$ grep -w sudo /etc/group

Les commandes ci-dessus affichent les utilisateurs appartenant au groupe nommé "sudo" .

sudo:x:27:sk

Répertorier les membres d'un groupe sous Linux à l'aide de la commande grep

Comme vous le voyez dans la sortie ci-dessus, le groupe "sudo" ne contient qu'un seul membre nommé "sk".

2. Afficher les membres d'un groupe à l'aide de la commande "getent"

Le "getent" La commande affiche les entrées des bases de données prises en charge par les bibliothèques Name Service Switch, qui sont configurées dans "/etc/nsswitch.conf" fichier.

Pour trouver les membres d'un groupe donné sous Linux à l'aide de la commande "getent", exécutez :

$ getent group sudo

Cette commande affiche les membres du groupe "sudo".

Trouver les membres d'un groupe sous Linux à l'aide de la commande getent

Un avantage notable de la commande getent est qu'elle répertorie non seulement les utilisateurs locaux, mais tous les utilisateurs de tous les backends userdb configurés, par exemple LDAP, sur un système donné.

3. Imprimer les utilisateurs d'un groupe à l'aide de la commande "groupmems"

Les "groupmems" La commande permet à un utilisateur d'administrer sa propre liste d'appartenance à un groupe sans privilèges de superutilisateur. Il fait partie du package shadow utils.

Pour imprimer les membres d'un groupe à l'aide de la commande "groupmems", exécutez :

$ sudo groupmems -g sudo -l

Imprimer les membres d'un groupe à l'aide de la commande groupmems sous Linux

Cette commande a deux inconvénients. Il ne traite que des groupes dans le fichier "/etc/group" mais pas ceux de LDAP ou d'autres bases de données d'utilisateurs. Il nécessite également des privilèges de superutilisateur car il essaie d'ouvrir "/etc/gshadow" fichier.

4. Afficher les membres du groupe à l'aide de la commande "members"

Comme son nom l'indique explicitement, les commandes "members" affichent essentiellement les membres d'un groupe sous Linux. La commande "members" n'est pas disponible par défaut dans la plupart des distributions Linux. Vous devez l'installer à l'aide du gestionnaire de packages de votre distribution. Par exemple, sur les systèmes basés sur Debian, vous pouvez l'installer à l'aide de la commande :

$ sudo apt install members

Une fois installé, vous pouvez afficher les membres d'un groupe donné sous Linux en utilisant la commande "members" comme ci-dessous :

$ members sudo

Afficher les membres du groupe à l'aide de la commande members sous Linux

Par défaut, la commande "members" affiche tous les utilisateurs. Utilisez -p ou -s pour n'afficher que les membres d'un groupe principal ou d'un groupe secondaire.

5. Répertoriez tous les utilisateurs appartenant à un groupe à l'aide de la commande "libuser-lid"

Le "libuser-lid" commande utilisée pour afficher des informations sur les groupes contenant le nom d'utilisateur ou les utilisateurs contenus dans le nom du groupe.

La commande "libuser-lid" n'est pas non plus disponible par défaut dans de nombreuses distributions Linux. Le "libuser" fournit cette commande, vous devez donc l'installer à l'aide du gestionnaire de packages de votre distribution. Par exemple, sur Debian, Ubuntu, installez le package "libuser" à l'aide de la commande :

$ sudo apt install libuser

Pour répertorier tous les utilisateurs d'un groupe, exécutez :

$ sudo libuser-lid -g sudo

Veuillez noter que cette commande nécessite un superutilisateur privilèges d'exécution.

Exemple de résultat :

 sk(uid=1000)

Répertorier tous les utilisateurs d'un groupe sous Linux à l'aide de la commande libuser-lid

Pour plus de détails, reportez-vous aux pages de manuel de la commande respective.

C'est tout pour le moment. Voici quelques méthodes différentes pour trouver la liste des utilisateurs d'un groupe sous Linux. J'espère que cela vous aidera.

Lire connexe :

  • Comment savoir à quels groupes un utilisateur appartient sous Linux
  • Comment répertorier tous les utilisateurs sous Linux


Linux
  1. Comment Linux est arrivé sur le mainframe

  2. Comment lister les dépendances d'un paquet sous Linux

  3. Comment ajouter un utilisateur à un groupe sous Linux

  4. Lister les membres d'un groupe sous Linux

  5. Comment puis-je effacer l'autorisation s sur un répertoire sous Linux ?

Comment répertorier les packages installés sous Linux

Comment répertorier les partitions de disque sous Linux

Comment répertorier les utilisateurs sous Linux

Comment trouver la liste des référentiels installés sous Linux

Comment lister les disques sous Linux

Comment lister tous les utilisateurs d'un groupe sous Linux