Cómo verificar si un usuario pertenece a un grupo en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá cómo verificar si un usuario pertenece a un grupo específico en Linux. Comprender la pertenencia a grupos de usuarios es esencial para gestionar los permisos y el control de acceso en un sistema Linux.

Explorará tres métodos diferentes para verificar la pertenencia a un grupo: utilizando el comando groups para enumerar los grupos de un usuario, examinando el archivo /etc/group que contiene información sobre los grupos y utilizando el comando id para mostrar las identidades de usuario y grupo. Al final de este laboratorio, será proficiente en determinar las afiliaciones de grupo de un usuario.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/UserandGroupManagementGroup -.-> linux/groups("Group Displaying") linux/UserandGroupManagementGroup -.-> linux/id("User/Group ID Displaying") subgraph Lab Skills linux/cat -.-> lab-558773{{"Cómo verificar si un usuario pertenece a un grupo en Linux"}} linux/groups -.-> lab-558773{{"Cómo verificar si un usuario pertenece a un grupo en Linux"}} linux/id -.-> lab-558773{{"Cómo verificar si un usuario pertenece a un grupo en Linux"}} end

Listar grupos de usuarios con el comando groups

En este paso, exploraremos cómo listar los grupos a los que pertenece un usuario utilizando el comando groups. Comprender los grupos de usuarios es fundamental en Linux, ya que se utilizan para gestionar los permisos y el acceso a archivos y recursos.

El comando groups es una utilidad sencilla que imprime los nombres del grupo principal y de los grupos suplementarios para cada nombre de usuario dado, o del proceso actual si no se proporciona ningún nombre de usuario.

Vamos a averiguar a qué grupos pertenece el usuario actual (labex).

Abra su terminal si no está abierta. Puede hacerlo haciendo clic en el icono de Xfce Terminal en el lado izquierdo del escritorio.

Ahora, escriba el siguiente comando y presione Enter:

groups

Debería ver una salida similar a esta:

labex sudo ssl-cert public

Esta salida muestra los grupos de los que el usuario labex es miembro. En este ejemplo, el usuario labex pertenece a los grupos labex, sudo, ssl-cert y public.

  • El primer grupo enumerado suele ser el grupo principal del usuario.
  • Los grupos siguientes son grupos suplementarios.

Ser miembro del grupo sudo es importante porque permite al usuario ejecutar comandos con privilegios de superusuario utilizando el comando sudo, como hizo en el laboratorio anterior para instalar htop.

También puede utilizar el comando groups para verificar los grupos de otro usuario si conoce su nombre de usuario. Por ejemplo, para verificar los grupos del usuario root, escribiría:

groups root

La salida mostraría los grupos a los que pertenece el usuario root, que por lo general es solo el grupo root:

root

Comprender a qué grupos pertenece un usuario le ayuda a entender qué permisos tiene en el sistema.

Haga clic en Continuar para pasar al siguiente paso y verificar la ejecución de su comando.

Verificar la pertenencia a grupos en /etc/group

En este paso, examinaremos el archivo /etc/group, que es un archivo de sistema crucial en Linux que almacena información sobre los grupos de usuarios. Si bien el comando groups le proporciona una lista rápida de los grupos de un usuario, examinar /etc/group le muestra qué usuarios pertenecen a qué grupos en todo el sistema.

El archivo /etc/group contiene una línea para cada grupo. Cada línea tiene cuatro campos separados por dos puntos:

  1. Nombre del grupo: El nombre del grupo.
  2. Campo de contraseña: Por lo general, 'x', lo que indica que no se utilizan contraseñas de grupo (o se almacenan en otro lugar).
  3. Identificador de grupo (GID): Un identificador numérico único para el grupo.
  4. Miembros: Una lista separada por comas de los usuarios que son miembros de este grupo. Tenga en cuenta que los usuarios cuyo grupo principal es este grupo no se enumeran aquí.

Podemos utilizar el comando cat para mostrar el contenido de este archivo. cat es una utilidad estándar de Unix que lee archivos secuencialmente y los escribe en la salida estándar.

Abra su terminal y escriba el siguiente comando para ver el contenido de /etc/group:

cat /etc/group

Presione Enter.

Verá mucha salida, y cada línea representa un grupo diferente en el sistema. Busque las líneas que incluyan el nombre de usuario labex en el cuarto campo (la lista de miembros).

Por ejemplo, es posible que vea líneas similares a estas (la salida exacta variará):

...
sudo:x:27:labex
...
ssl-cert:x:121:labex
...
public:x:5002:labex
...

En estas líneas de ejemplo:

  • El grupo sudo tiene a labex como miembro.
  • El grupo ssl-cert tiene a labex como miembro.
  • El grupo public tiene a labex como miembro.

Tenga en cuenta que el grupo labex en sí es posible que no liste a labex como miembro en el cuarto campo si labex es su grupo principal.

Ver /etc/group le ofrece una visión más detallada de las configuraciones de grupo en comparación con la salida simple del comando groups. Es un archivo valioso para que los administradores de sistema comprendan los permisos de usuario.

Haga clic en Continuar para pasar al siguiente paso.

Verificar grupos de usuarios con el comando id

En este paso, revisaremos el comando id que utilizaste en el primer laboratorio. El comando id ofrece una visión integral de la identidad de un usuario, incluyendo su Identificador de Usuario (UID), el Identificador de Grupo Principal (GID) y todos los grupos de los que es miembro. Este comando es una forma rápida de verificar la pertenencia a grupos.

Ya has utilizado id para ver tu UID y GID. Ahora, centrémonos en la parte de groups de su salida y comparemosla con lo que viste con el comando groups y en el archivo /etc/group.

Abre tu terminal y escribe el siguiente comando:

id

Presiona Enter.

Verás una salida similar a esta:

uid=XXXX(labex) gid=XXXX(labex) groups=XXXX(labex),XX(sudo),XXX(ssl-cert),XXXX(public)

(Tenga en cuenta que XXXX y XX son marcadores de posición para los identificadores numéricos reales, que pueden variar ligeramente, pero los nombres de los grupos deben ser consistentes).

Volvamos a desglosar la salida, centrándonos en la sección groups:

  • uid=XXXX(labex): Tu Identificador de Usuario y nombre de usuario.
  • gid=XXXX(labex): Tu Identificador de Grupo Principal y nombre del grupo principal.
  • groups=XXXX(labex),XX(sudo),XXX(ssl-cert),XXXX(public): Una lista separada por comas de todos los grupos de los que eres miembro, incluyendo tanto tu grupo principal como cualquier grupo suplementario.

Compara la lista de nombres de grupos en la sección groups= de la salida del comando id con la salida que obtuviste del comando groups en el Paso 1. Deberías ver la misma lista de nombres de grupos.

El comando id suele ser preferido sobre el comando groups porque también proporciona los identificadores numéricos (UID y GID), que pueden ser útiles en tareas de scripting y administración de sistemas. Te da una imagen completa de la identidad de un usuario y su pertenencia a grupos en una sola línea de salida.

Ahora has aprendido tres formas diferentes de verificar la pertenencia a grupos de usuarios en Linux: utilizando el comando groups, examinando el archivo /etc/group y utilizando el comando id. Cada método proporciona información ligeramente diferente y es útil en diferentes contextos.

Haz clic en Continuar para completar este paso y el laboratorio.

Resumen

En este laboratorio, aprendimos cómo verificar si un usuario pertenece a un grupo en Linux utilizando tres métodos diferentes. Primero, utilizamos el comando groups para listar rápidamente los grupos principales y suplementarios de un usuario especificado o del usuario actual, comprendiendo que la pertenencia a grupos dicta los permisos y el acceso.

Luego exploramos el archivo /etc/group, un archivo de sistema fundamental que contiene información detallada sobre los grupos, y aprendimos cómo interpretar su estructura para verificar directamente la pertenencia a grupos. Finalmente, utilizamos el comando id, una utilidad versátil que proporciona información integral sobre el usuario y los grupos, incluyendo el identificador de usuario, el identificador del grupo principal y todos los identificadores de grupos suplementarios, ofreciendo otra forma de confirmar las afiliaciones a grupos.