Unix liste des utilisateurs d'un groupe

Fermé
ACK - 4 juil. 2011 à 13:09
mamiemando Messages postés 33268 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 septembre 2024 - 4 juil. 2011 à 15:47
Bonjour,

Comment afficher la liste des utilisateurs d'un même groupe ? (je suis connecté en tant que root)

Je sais déjà que le groupe existe en regardant dans /etc/group.

1 réponse

mamiemando Messages postés 33268 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 septembre 2024 7 780
4 juil. 2011 à 13:47
Ben oui à raison d'une ligne par groupe il suffit d'extraire la bonne ligne. Attention car des utilisateurs et des groupes peuvent porter le même nom (par exemple root), donc il faut que la ligne commence par le nom que tu cherches (ce qui s'écrit ^ avec une expression régulière).

Exemple : les membres du groupe audio :

(mando@aldur) (~) $ grep "^audio" /etc/group
audio:x:29:mando


On peut également extraire directement le champ qui nous intéresse (la 4e colonne si l'on délimite sur le caractère ':') :

grep "^audio" /etc/group | cut -d':' -f4


Attention, car comme je le mentionnais les utilisateurs ont souvent un groupe qui porte leur nom (par exemple sur ma machine il y a un groupe root et un groupe mando), et chaque utilisateur appartient implicitement au groupe qui porte son nom (ainsi mando appartient au groupe mando).

Bonne chance
0
Merci, donc si je n'ai rien dans la 4ème colonne, ce groupe n'a pas d'utilisateurs ?

Et qu'est-ce que cela veut dire si j'ai cela ?
- des utilisateurs ktsadm, ktsftp et ktsrun membre du groupe kts en lisant le fichier /etx/passwd et
- un groupe kts sans utilisateur en lisant le fichier /etc/group

# grep kts /etc/passwd
ktsadm:x:101:104::/home/ktsadm:/bin/bash
ktsftp:x:102:104::/home/ktsftp:/bin/bash
ktsrun:x:103:104::/home/ktsrun:/bin/bash
#
# grep "^kts" /etc/group
kts:x:104:
#
0
mamiemando Messages postés 33268 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 septembre 2024 7 780
4 juil. 2011 à 15:47
Effectivement kts est un groupe vide (ou qui contient potentiellement un utilisateur kts qui ne semble pas exister d'après la commande "grep "^kts" /etc/passwd").

Vu le nom ces utilisateurs (ktsadm, ktsftp...) sont utilisés pour lancer certains processus relatifs à kts. Les membres du groupe kts (que tu peux alimenter en ajoutant ton login comme je l'ai fait avec le groupe audio) ont probablement des droits suffisants pour manipuler kts, mais je ne connais pas cette application donc c'est juste une intuition.

En tout cas il est fréquent qu'une application qui tourne en arrière plan soit lancée avec un utilisateur spécifique (par exemple mysql pour un serveur mysql). Ainsi, si le serveur en question est corrompu, la personne ou le logiciel qui s'est introduit n'a les droits que de cet utilisateur et aura donc plus de difficultés à corrompre le reste du système. Si l'application était corrompue et qu'elle était lancée par root, tu vois tout de suite le problème...
0