283 votes

Comment trouver le groupe d'un utilisateur donné ?

Sous Unix/Linux, comment savoir dans quel groupe se trouve un utilisateur donné via la ligne de commande ?

25 votes

Pour obtenir le contraire, voir qui est dans un groupe donné, vous pouvez utiliser getent group <groupname> .

1 votes

@iconoclast : qui ne liste pas les utilisateurs appartenant au groupe dans /etc/passwd.

406voto

Bombe Points 34185
groups

ou

groups user

109voto

Paul Tomblin Points 83687

Celui-ci montre l'uid de l'utilisateur ainsi que tous les groupes (avec leurs gids) auxquels il appartient.

id userid

2 votes

Cela semble également très utile. La sortie est plus détaillée que celle de la commande 'groups', donc si vous avez besoin de l'identifiant du groupe ou de l'utilisateur, utilisez-la !

0 votes

Ceci devrait être la réponse la plus détaillée et la plus correcte, obtenez un upvote !

19voto

kenorb Points 2464

Sous Linux/OS X/Unix, pour afficher les groupes auxquels vous (ou l'utilisateur spécifié en option) appartenez, utilisez :

id -Gn [user]

ce qui est équivalent à groups [user] qui est devenu obsolète sous Unix.

Sous OS X/Unix, la commande id -p [user] est suggéré pour une interaction normale.

Explication sur les paramètres :

-G , --groups - imprimer tous les ID de groupe

-n , --name - imprimer un nom au lieu d'un numéro, pour -ugG

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

0voto

Namasivayam Points 39

Ci-dessous le script qui est intégré dans ansible et qui génère un tableau de bord au format CSV.

sh collection.sh

#!/bin/bash

HOSTNAME=`hostname -s`

for i in `cat /etc/passwd| grep -vE "nologin|shutd|hal|sync|root|false"|awk -F':' '{print$1}' | sed 's/[[:space:]]/,/g'`; do groups $i; done|sed s/\:/\,/g|tr -d ' '|sed -e "s/^/$HOSTNAME,/"> /tmp/"$HOSTNAME"_inventory.txt

sudo cat /etc/sudoers| grep -v "^#"|awk '{print $1}'|grep -v Defaults|sed '/^$/d;s/[[:blank:]]//g'>/tmp/"$HOSTNAME"_sudo.txt

paste -d , /tmp/"$HOSTNAME"_inventory.txt /tmp/"$HOSTNAME"_sudo.txt|sed 's/,[[:blank:]]*$//g' >/tmp/"$HOSTNAME"_inventory_users.txt

Mes résultats sont stockés dans les fichiers texte ci-dessous.

cat /tmp/ANSIBLENODE_sudo.txt
cat /tmp/ANSIBLENODE_inventory.txt
cat /tmp/ANSIBLENODE_inventory_users.txt

0voto

Nils Points 2605

Ou simplement étudier /etc/groups (ok cela ne fonctionne probablement pas s'il utilise pam avec ldap)

7 votes

En effet, c'est une mauvaise réponse. Le terme "groupe getent" est meilleur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X