web-dev-qa-db-fra.com

Comment obtenir le groupe principal d'un utilisateur?

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?

16
user7681202

Essayez les commandes suivantes

id -g

id -gn

23
Bruce

Voir le FreeBSD manuel (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 oui, exécutez id <username> montrera 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, consultez 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.

12
simlev