Cómo ver grupos en Linux

27 feb 2021 3 min di lettura
Cómo ver grupos en Linux
Indice dei contenuti

Introducción

En Linux, un grupo es una colección de usuarios. El propósito principal de los grupos es definir un conjunto de privilegios, como permiso de lectura, escritura o ejecución para un recurso determinado que se puede compartir entre los usuarios dentro del grupo. Los usuarios se pueden agregar a un grupo existente.

Este tutorial explica cómo mostrar todos los grupos de los que es miembro un usuario. También explicaremos cómo enumerar a todos los miembros de un grupo.

Grupos en Linux

Hay dos tipos de grupos a los que puede pertenecer un usuario:

  • Grupo primario o de acceso: es el grupo asignado a los archivos creados por el usuario. Normalmente, el nombre del grupo principal es el mismo que el del usuario. Cada usuario debe pertenecer exactamente a un grupo principal.
  • Grupo secundario o complementario: se utiliza para otorgar ciertos privilegios a un conjunto de usuarios. Un usuario puede ser miembro de cero o más subgrupos.

Muestra todos los grupos de los que es miembro un usuario

Hay varias formas de averiguar a qué grupos pertenece un usuario.

El grupo del usuario principal se almacena en el archivo /etc /passwd y los grupos adicionales, si los hay, se enumeran en el archivo /etc /group.

Una forma de encontrar grupos de usuarios es enumerar el contenido de esos archivos usando cat, less o grep. Otra opción más sencilla es utilizar un comando cuyo propósito es proporcionar información sobre usuarios y grupos en el sistema.

Usando el comando de grupos

El comando más fácil para enumerar todos los grupos de los que es miembro un usuario es el comando groups. Si se ejecuta sin un argumento, el comando imprimirá una lista de todos los grupos a los que pertenece el usuario actualmente conectado:

groups

El primer grupo es el grupo principal.

noviello sudo plugdev lpadmin

Para obtener una lista de todos los grupos a los que pertenece un usuario específico, dé el nombre de usuario al comando de grupos como argumento:

groups noviello

El primer grupo es el grupo principal.

noviello: noviello sudo

Usando el comando id

El comando id imprime información sobre el usuario especificado y sus grupos. Si se omite el nombre de usuario, muestra información para el usuario actual.

Por ejemplo, para obtener información sobre el usuario noviello, escriba:

id noviello

El comando mostrará el nombre de usuario ( uid ), el grupo principal del usuario ( gid ) y los grupos secundarios del usuario (grupos)

uid=1001(noviello) gid=1001(noviello) groups=1001(noviello),27(sudo)

Para imprimir solo nombres sin ID de usuario y grupo, use la opción -n. La opción -g imprime solo el grupo primario y la opción -G imprime todos los grupos.

El siguiente comando imprimirá los nombres de los grupos de los que el usuario actual es miembro:

id -nG
noviello sudo plugdev lpadmin

Lista de todos los miembros de un grupo

Para enumerar todos los miembros de un grupo, use el comando getent group seguido del nombre del grupo.

Por ejemplo, para encontrar los miembros de un grupo con el nombre ftp, use el siguiente comando:

getent group ftp

Si el grupo existe, el comando imprimirá el grupo y todos sus miembros:

ftp:x:126:piero,ftpuser

Si no hay salida, el grupo no existe.

Lista de todos los grupos

Para ver todos los grupos presentes en el sistema, simplemente abra el archivo /etc /group. Cada línea de este archivo representa información para un grupo.

less /etc/group

Otra opción es usar el comando getent que muestra las entradas de la base de datos configuradas en el archivo /etc/nsswitch.conf incluyendo el grupo de la base de datos que podemos usar para consultar una lista de todos los grupos.

Para obtener una lista de todos los grupos, escriba el siguiente comando:

getent group

La salida es la misma que cuando se visualiza el contenido del archivo /etc /group. Si está utilizando LDAP para la autenticación de usuarios, el comando getent mostrará todos los grupos tanto del archivo /etc /group como de la base de datos LDAP.

También puede usar awk o cut para imprimir solo el primer campo que contiene el nombre del grupo:

getent group | awk -F: '{ print $1}'
getent group | cut -d: -f1

Conclusión

En este tutorial, aprendió cómo encontrar los grupos de los que es miembro un usuario. Los mismos comandos se aplican a cualquier distribución de Linux, incluidos Ubuntu, CentOS, RHEL, Debian y Linux Mint.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.