Aller au contenu

Prob pour connaitre le groupe


coolmec28

Messages recommandés

Voilà j'aimerais connaitre le groupe d'un utilisateur, simplement en tapant son nom comme argument.

Pour ce faire j'ai fait ceci dans un fichier sous vi que j'ai nommer test, je l'ai rendu excécutable,

Puis je tape ceci :

./test nom_utilisateur

Mais il me sort par moment plusieurs lignes de résultat.

Je ne comprend pas trop pq, si quelqu'un pouvait m'aider ca serait cool

Voici la syntaxe que j'ai mis dans mon fichier shell script :

#!/bin/bash

USER=`cat /etc/passwd | cut -d':' -f1,4 | grep "$1" | cut -d':' -f2`

GROUP=`cat /etc/passwd | cut -d':' -f1,3 | grep "$USER" | cut -d':' -f1`

echo "le nom du groupe de l'utilisateur est : $GROUP"

Comme on peut le voir je compare l'argument 1 avec le champ 1 et 4, que je coupe ensuite en prenant juste le champ 2 qui est le num du groupe.

Ensuite je vais comparé cette valeur avec le champ 3 dans /etc/group et je recoupe pour qu'il me renvoit juste le champ 1, ceci afin d'avoir le nom du groupe en question.

Donc je ne comprend pas pq il sort plusieurs lignes de résultat pour certains utilisateurs.

Voilà si quelqu'un pouvait m'aider, je l'en remercie d'avance

Lien vers le commentaire
Partager sur d’autres sites

Le group ID de bin est 1 par exemple. Si tu lances ton script sur bin, tu vas récupérer les groupes 1, 10, 11, 12, 21, etc... tout ce qui contient 1 quoi.

Loin de moi l'idée de te décourager d'apprendre le bash, mais il existe la commande "groups" qui fait ce que tu veux :

$ groups bin

bin : bin daemon sys

A+

Gauret

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...