Ya te he mostrado cómo listar a todos los usuarios en la línea de comandos de Linux. Este consejo rápido está relacionado, pero es diferente de eso.
Presumo que estás un poco familiarizado con el concepto de grupos y usuarios en Linux. Hay varios grupos y una variedad de usuarios en un sistema Linux. Un grupo puede tener múltiples miembros mientras que un usuario puede ser miembro de varios grupos.
Puedes verificar a qué grupos pertenece un usuario en particular y también puedes encontrar todos los usuarios de un grupo.
Lista todos los usuarios de un grupo en Linux
En este breve tutorial, te mostraré diversas formas de listar usuarios en un grupo en la línea de comandos de Linux.
Listar miembros de un grupo en Linux usando el archivo /etc/group
La información de los grupos se encuentra en el archivo /etc/group. Puedes ver el contenido de este archivo y buscar la información acerca de los miembros.
Por lo general, este archivo tiene entradas con el siguiente formato:
adm:x:4:syslog,marcocarmonapy
Aquí tienes la explicación de los campos:
- "adm" es el nombre del grupo.
- "x" representa el campo de contraseña (por supuesto, no verás la contraseña en texto claro).
- "4" es el ID del Grupo, también conocido como GID.
- "syslog" y "marcocarmonapy" son los usuarios que pertenecen al grupo "adm".
Si encuentras que buscar manualmente un grupo en el archivo es difícil, puedes usar una combinación del comando "grep" y el comando "cut".
$ grep '^nombre_de_grupo:.*$' /etc/group | cut -d: -f4
La instrucción anterior busca todas las líneas que comienzan con el nombre de grupo especificado y luego el comando "cut" extrae la cuarta columna separada por el delimitador ":". El resultado es simplemente el nombre de los miembros del grupo.
$ grep '^adm:.*$' /etc/group | cut -d: -f4
syslog,marcocarmonapy
Obtener la lista de miembros de un grupo en Linux con el comando getent
El comando getent es una herramienta versátil que se utiliza para hacer consultas en archivos de base de datos en el directorio /etc. De esta forma, puedes emplearlo para realizar consultas en el archivo /etc/group y obtener los usuarios del grupo especificado de la siguiente manera:
$ getent group nombre_de_grupo
Esto mostrará la línea que coincide con el nombre del grupo y aquí podrás ver los miembros del grupo:
$ getent group sudo
sudo:x:27:marcocarmonapy
Listar usuarios en un grupo usando el comando 'members'
Existe una pequeña herramienta de línea de comandos que simplifica el proceso de listar todos los miembros de un grupo específico.
El comando 'members' generalmente no viene instalado en todos los sistemas, por lo que debes instalarlo por tu cuenta.
En sistemas basados en Debian/Ubuntu, puedes instalarlo utilizando el siguiente comando:
$ sudo apt install members
Si el comando no se encuentra en Ubuntu, debes habilitar el repositorio "universe" y volver a intentarlo.
Una vez que tengas el comando instalado, puedes ejecutarlo de la siguiente manera:
$ members nombre_de_grupo
Por ejemplo, si deseas verificar qué usuarios tienen acceso sudo, puedes utilizar el comando "members" de la siguiente manera:
$ members sudo
marcocarmonapy
Eso es todo...
Como puedes ver, fue absolutamente sencillo obtener los usuarios que pertenecen a un grupo. ¡Aprendiste tres formas de hacerlo!
¿Cuál método te gustó más? ¿utilizas alguna otra manera de listar miembros de grupos en Linux?