Administrar sistemas operativos Linux requiere de ciertos conceptos a conocer antes de meternos de lleno en su estructura. Uno de los más importantes son los usuarios, grupos y los permisos asociados a estos, recordemos que si un usuario no cuenta con permisos no será posible que pueda realizar determinadas tareas o acceder a directorios.
En Linux tanto los archivos como los directorios tiene asignados un grupo de permisos para el propietario y otro para el grupo al que está asignado el archivo alojado en él. Estos permisos básicamente permiten definir si el usuario puede leer, escribir o ejecutar el archivo, de allí la importancia de administrar estos permisos y los usuarios o grupos.
Por temas de auditoria o de control del sistema es posible conocer que usuarios pertenecen a un grupo y Solvetic explicará algunos mecanismos para validar esta información en las distribuciones Linux. Para este caso usaremos Ubuntu 22.04.
1 Ver Usuarios Grupo Linux desde /etc
El directorio /etc es uno de los más importantes y conocidos de Linux debido a su contenido, allí es ideal gestionar la ruta /etc/group que es donde se encuentra una lista delimitada por dos puntos “:” tanto para los grupos como para los miembros del grupo.
Estas líneas están compuestas por:
- Nombre: es el nombre único del grupo
- Contraseña: estará con la letra "x" debido a que no será usada
- ID de grupo: indica el identificador de grupo único
- Usuarios: es la lista delimitada por comas de los miembros del grupo, esta lista muchas veces esta vacía para las cuentas del sistema (por seguridad)
Abrimos la Terminal y ejecutamos lo siguiente:
less /etc/group
Al pulsar Enter veremos esto:
Con la flecha de desplazamiento bajamos para ver todos los grupos, es posible filtrar por usuario para ver a que grupo pertenece, para ello ejecutamos:
grep "usuario" /etc/group
Recordemos que en Linux al momento de crear un usuario, por defecto se ubica este nuevo usuario en un grupo que posee el mismo nombre de la cuanta, esto se denomina grupo principal, grupos adicionales serán denominados como grupos secundarios.
2 Ver Usuarios Grupo Linux con Getent
Getent es un comando con el cual es posible acceder a entradas de la base de datos administrativa del sistema, su ventaja es que este comando realiza un análisis en diversas bases de datos en busca de información de grupos de usuarios mas no solo en la ruta /etc/group.
Para su uso abrimos la Terminal y ejecutamos lo siguiente:
getent group
Al pulsar Enter veremos lo siguiente:
Es posible filtrar el resultado por grupo:
getent group "grupo"
Algunas opciones extras de uso con getent son:
- -i, --no-idn: se encarga de desactivar la codificación IDN
- -s, --service=CONFIG: permite configurar el servicio
- --usage: despliega un mensaje corto de uso
- -V, --version: permite ver la versión usada
Con getent es posible usar las bases de datos ahosts, ahostsv4, ahostsv6, aliases, ethers group, gshadow, hosts initgroups, netgroup, networks, passwd, protocols, rpc, services, shadow
3 Ver Usuarios Grupo Linux con Lid
Otra de las opciones es usar Lid el cual esta dentro de la colección de herramientas libuser.
Para su uso abrimos la Terminal e instalamos la utilidad:
sudo apt install libuser
Confirmamos la operación ingresando la letra S y esperamos que finalice el proceso.
Filtramos los grupos de un usuario ejecutando:
sudo libuser-lid "usuario"
Para ver los miembros de un grupo ejecutamos lo siguiente:
sudo libuser-lid -g "grupo"
Es posible ver los grupos en los cuales está un usuario en especial, para ello ejecutamos:
groups “usuario”
Para ver los ID de los grupos de un usuario ejecutamos:
id "usuario"
Algunas opciones adicionales a usar son:
- -i, --interactive: se solicita toda la información
- -g, --group: despliega los miembros de un grupo determinado
- -n, --onlynames: solo permite ver información de membresía por nombre mas no por UID/GID
- --usage: hace uso del modo de uso resumido