Je sais qu'il y a le /etc/group
fichier qui répertorie tous les groupes d'utilisateurs.
Je voudrais savoir s'il existe une commande simple pour répertorier tous les noms de groupes d'utilisateurs malgré l'analyse du /etc/group
fichier lisible dans le monde . Je suis prêt à créer une page Web d'administrateur qui répertorie les noms de groupe des comptes Linux.
Réponses:
Pour répertorier tous les groupes locaux auxquels des utilisateurs sont affectés, utilisez cette commande:
Pour plus d' info-> groupes Unix , commande Cut , commande de tri
la source
cut
est une autre commande qui extrait la colonne spécifique d'une entrée. Ici, j'extrais le champ 1 où les champs sont délimités par:
Si vous voulez que tous les groupes soient connus du système, je recommanderais d'utiliser
getent group
au lieu d'analyser/etc/group
:La raison en est que sur les systèmes en réseau, les groupes peuvent non seulement lire à partir du
/etc/group
fichier, mais également être obtenus via LDAP ou Pages Jaunes (la liste des groupes connus provient du fichier de groupe local et des groupes reçus via LDAP ou YP dans ces cas).Si vous souhaitez uniquement les noms de groupe, vous pouvez utiliser:
la source
getent group | cut -d: -f1 | sort
getent group | cut -d: -f1 | sort | cat -n
.Sous Linux, macOS et Unix pour afficher les groupes auxquels vous appartenez, utilisez:
qui est équivalent à l'
groups
utilitaire qui a été obsolète sur Unix (selon le manuel Unix ).Sur macOS et Unix, la commande
id -p
est suggérée pour une interaction normale.Explication des paramètres:
la source
id -Gn someusername
renvoie la liste des groupes pour l'utilisateur spécifié.id -Gnz | xargs -0 -I% echo %
listera chaque groupe sur une ligne distincte. Ceci est utile si les noms de groupe contiennent des espaces.groups
obsolète? Des sources? J'ai recherché "commande de groupes unix obsolète" mais je n'ai rien trouvé.groups
.