web-dev-qa-db-fra.com

Existe-t-il une commande permettant de répertorier tous les noms de groupes Unix?

Je sais qu'il existe le fichier /etc/group qui répertorie tous les groupes d'utilisateurs.

J'aimerais savoir s'il existe une commande simple pour répertorier tous les noms de groupes d'utilisateurs malgré l'analyse du fichier /etc/group lisible par tout le monde. Je souhaite créer une page Web d’administrateur qui répertorie les noms de groupe des comptes Linux.

583
cavila

Pour répertorier tous les groupes locaux auxquels des utilisateurs sont affectés, utilisez cette commande:

cut -d: -f1 /etc/group | sort

Pour plus d'informations-> groupes Unix , commande Cut , commande sort

844
Arpit

Si vous voulez tous les groupes connus du système, je vous recommanderais d'utiliser getent au lieu d'analyser /etc/group. Sur les systèmes en réseau, les groupes peuvent non seulement lire dans le fichier /etc/group mais également dans LDAP ou Yellow Pages, c’est-à-dire que la liste des groupes connus provient du fichier de groupe local et des groupes reçus via LDAP ou YP.

getent group vous donnera une liste de tous groupes dans le même format utilisé par le fichier /etc/group.

Si vous voulez juste les noms de groupe, getent group | cut -d: -f1 fera le travail (comme ci-dessus).

254
dasup

Sous Linux, macOS et Unix pour afficher les groupes auxquels vous appartenez, utilisez:

id -Gn

qui équivaut à l'utilitaire groups qui était obsolète sous Unix (selon manuel Unix ).

Sur macOS et Unix, la commande id -p est suggérée pour une utilisation interactive normale.

Explication des paramètres:

-G, --groups - Affiche tous les ID de groupe.

-n, --name - Affiche un nom au lieu d'un nombre pour -ugG

-p - Rend la sortie lisible par l'homme.

45
kenorb