¿Cómo obtener el grupo primario de un usuario?

15

El siguiente comando enumerará todos los grupos de someUser(el grupo primario y los grupos suplementarios):

groups someUser

Pero, ¿hay alguna manera de obtener solo el grupo primario?

usuario7681202
fuente
¿No es el grupo primario listado primero?
simlev

Respuestas:

22

Intenta seguir los comandos

id -g

id -gn

Bruce
fuente
Algunos fuera de tema, pero para obtener el uso del nombre de usuario actual id -un.
userlond el
10

Consulte el manual de FreeBSD (la información también es válida para Linux):

ID de grupo (GID)

La ID de grupo (GID) es un número que se utiliza para identificar de forma exclusiva el grupo primario al que pertenece el usuario. Los grupos son un mecanismo para controlar el acceso a los recursos en función del GID de un usuario en lugar de su UID. Esto puede reducir significativamente el tamaño de algunos archivos de configuración y permite a los usuarios ser miembros de más de un grupo. Se recomienda utilizar un GID de 65535 o inferior, ya que los GID más altos pueden romper algún software.

Si es así, la ejecución id <username>mostrará gid=<primary group>:

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

Si desea que el comando devuelva solo el nombre del grupo principal, consulte 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

Entonces, id -gn <username>debería darte lo que quieres.

simlev
fuente
Esta debería ser la respuesta aceptada. Gracias :)
grrigore