GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo enumerar grupos en Linux

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 para utilizar los privilegios que otorga.

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

Grupos Linux #

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

  • Grupo principal o de inicio de sesión – es el grupo que se asigna a los archivos creados por el usuario. Normalmente, el nombre del grupo principal es el mismo que el nombre del usuario. Cada usuario debe pertenecer exactamente a un grupo principal.

  • Grupo secundario o complementario - utilizado para otorgar ciertos privilegios a un conjunto de usuarios. Un usuario puede ser miembro de cero o más grupos secundarios.

Lista de todos los grupos de los que un usuario es miembro #

Hay varias formas de averiguar los grupos a los que pertenece un usuario.

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

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

Usando los groups comando #

El comando más memorable para enumerar todos los grupos de los que un usuario es miembro es groups dominio. Cuando 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.

john adm cdrom sudo dip plugdev lpadmin sambashare

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

groups linuxize

Igual que antes, el primer grupo es el grupo principal.

linuxize : linuxize sudo

Usando el id comando #

El id El comando 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 linuxize escribirías:

id linuxize

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

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

Para imprimir solo los nombres en lugar de los números, use -n opción. Opción -g imprimirá solo el grupo principal y -G todos los grupos.

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

id -nG
john adm cdrom sudo dip plugdev lpadmin sambashare

Lista de todos los miembros de un grupo #

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

Por ejemplo, para averiguar los miembros de un grupo con el nombre developers usaría el siguiente comando:

getent group developers

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

developers:x:126:frank,mary

Si no hay salida, significa que el grupo no existe.

Lista de todos los grupos #

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

less /etc/group

Otra opción es usar el getent comando que muestra las entradas de las bases de datos configuradas en /etc/nsswitch.conf archivo que incluye el group 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 muestra el contenido de /etc/group expediente. Si está utilizando LDAP para la autenticación de usuario, el getent mostrará todos los grupos de ambos /etc/group archivo y base de datos LDAP.

También puedes 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.

Siéntase libre de dejar un comentario si tiene alguna pregunta.


Linux
  1. Cómo usar el comando SS de Linux

  2. Cómo agregar un usuario a un grupo en Linux

  3. ¿Cómo agregar/listar/eliminar un grupo?

  4. Listar miembros de un grupo en Linux

  5. ¿Cómo enumerar todos los usuarios en un grupo de Linux?

Cómo enumerar discos en Linux

Cómo enumerar servicios en Linux

Cómo enumerar usuarios y grupos en Linux

Cómo enumerar todos los usuarios de un grupo en Linux

Comandos de gestión de grupos en Linux

¿Cómo enumerar todos los grupos en Linux?