Comment obtenir le groupe principal d'un utilisateur?

15

La commande suivante répertorie tous les groupes de someUser(le groupe principal et les groupes supplémentaires):

groups someUser

Mais existe-t-il un moyen d'obtenir uniquement le groupe principal?

user7681202
la source
Le groupe principal n'est-il pas répertorié en premier?
simlev

Réponses:

22

Essayez les commandes suivantes

id -g

id -gn

Bruce
la source
Certains hors-sujet, mais pour obtenir l'utilisation actuelle du nom d'utilisateur id -un.
userlond
10

Voir le manuel de FreeBSD (informations également valables pour Linux):

ID de groupe (GID)

L'ID de groupe (GID) est un numéro utilisé pour identifier de manière unique le groupe principal auquel appartient l'utilisateur. Les groupes sont un mécanisme de contrôle de l'accès aux ressources basé sur le GID d'un utilisateur plutôt que sur son UID. Cela peut réduire considérablement la taille de certains fichiers de configuration et permet aux utilisateurs d'être membres de plusieurs groupes. Il est recommandé d'utiliser un GID de 65535 ou inférieur car des GID plus élevés peuvent endommager certains logiciels.

Si c'est le cas, l'exécution id <username>affichera gid=<primary group>:

id <username>
uid=1000(<username>) gid=1000(<username>) groups=1000(<username>),4(adm),24(cdrom),27(sudo)

Si vous souhaitez que la commande renvoie uniquement le nom du groupe principal, voir man id:

   -g, --group
          print only the effective group ID

   -G, --groups
          print all group IDs

   -n, --name
          print a name instead of a number, for -ugG

donc, id -gn <username>devrait vous donner ce que vous voulez.

simlev
la source
Cela devrait être la réponse acceptée. Merci :)
grrigore