CodeGym /Cursos /Docker SELF /Gestión de grupos: creación, adición y eliminación de usu...

Gestión de grupos: creación, adición y eliminación de usuarios de grupos (`groupadd`, `usermod -aG`, `groups`)

Docker SELF
Nivel 2 , Lección 2
Disponible

Gestión de grupos: creación, adición y eliminación de usuarios de grupos groupadd, usermod -aG, groups

1. Introducción a los grupos en Linux

Los grupos en el sistema operativo Linux permiten agrupar usuarios según intereses, responsabilidades u otros criterios y asignarles permisos de acceso comunes. Hoy vamos a ver cómo trabajar con grupos, añadir usuarios a estos y gestionar todo esto de manera adecuada. ¿Listos? ¡Entonces vamos a ello!

Empecemos con una analogía de la vida cotidiana. Imagínate que estás jugando a un juego en línea donde hay gremios. En cada gremio hay miembros que tienen acceso a recursos compartidos: almacén, chat y salas estratégicas. En Linux, los grupos cumplen el mismo papel. Los grupos te permiten:

  1. Simplificar la gestión de acceso a archivos y recursos para varios usuarios al mismo tiempo.
  2. Dividir a los usuarios en equipos según su rol o tarea.
  3. Minimizar los dolores de cabeza del administrador del sistema.

Cuando el sistema verifica si un usuario puede acceder a un archivo, mira tres niveles de permisos: el propietario del archivo, el grupo y el resto. Si el usuario pertenece al grupo indicado para el archivo y el grupo tiene permisos de acceso, el usuario está contento y el administrador también.


2. Comandos básicos para la gestión de grupos

Linux ofrece varias herramientas simples y potentes para trabajar con grupos: groupadd, usermod, groups, groupdel y gpasswd. Vamos a revisarlas paso a paso.

1. Creación de nuevos grupos groupadd

Crear un nuevo grupo en el sistema es súper sencillo. Se usa el comando groupadd. Por ejemplo, si queremos crear un grupo llamado developers, haz lo siguiente:

sudo groupadd developers

¡Y listo! El grupo ha sido creado. Para asegurarte de que realmente existe, puedes echar un vistazo al archivo /etc/group, que es como una lista de contactos para todos los grupos en el sistema:

cat /etc/group | grep developers

Verás una línea como esta:

developers:x:1001:

Esto significa:

  • developers — el nombre del grupo.
  • x — un campo para la contraseña (generalmente no se usa).
  • 1001 — es el Group ID (GID) único.
  • El espacio vacío después del segundo dos puntos — aquí se agregarán los usuarios del grupo.
Un chiste para relajar:

Si el GID es el número de teléfono del grupo, entonces /etc/group es su guía telefónica.


2. Adición de usuarios a un grupo usermod -aG

Ahora vamos a "contratar" desarrolladores para nuestro nuevo grupo developers. Para ello, usa el comando usermod con la opción -aG. Por ejemplo, añadamos al usuario john:

sudo usermod -aG developers john

Aquí es importante recordar:

  • La opción -a significa append (añadir). Si te la olvidas, podrías eliminar al usuario de todos los demás grupos excepto del especificado.
  • La opción -G indica el grupo al que se añadirá el usuario.

Para verificar en qué grupos está un usuario, puedes usar el comando groups:

groups john

O de forma más detallada, utilizando el comando id:

id john

La salida será algo así:

uid=1002(john) gid=1002(john) groups=1002(john),1001(developers)

3. Eliminación de un usuario de un grupo

Cuando uno de tus "desarrolladores" decide cambiar de profesión a barista, debes quitarlo del grupo. Para ello, usa el comando gpasswd:

sudo gpasswd -d john developers

Después de esto, el usuario john ya no será parte del grupo developers. No olvides verificar con groups john para asegurarte de que oficialmente ha salido.


4. Eliminación de grupos groupdel

Si un grupo ya no es necesario, puedes eliminarlo con el comando groupdel. Por ejemplo:

sudo groupdel developers
¡Atención!

Si quedan usuarios en el grupo, esto no los afectará de ninguna manera. Simplemente no podrán hacer referencia a este grupo.


3. Tarea práctica

Vamos a intentar en la práctica crear y configurar grupos como auténticos administradores.

Escenario:

  1. Crea un grupo designers.
  2. Crea dos nuevos usuarios: alice y bob.
  3. Añade estos usuarios al grupo designers.
  4. Verifica que los usuarios realmente fueron añadidos al grupo.
  5. Elimina al usuario alice del grupo designers.

Solución:

Paso 1. Crear un grupo

sudo groupadd designers

Paso 2. Crear usuarios

sudo adduser alice
sudo adduser bob

Paso 3. Añadir usuarios al grupo

sudo usermod -aG designers alice
sudo usermod -aG designers bob

Paso 4. Verificar la adición

groups alice
groups bob

Paso 5. Eliminar a alice del grupo

sudo gpasswd -d alice designers

4. Particularidades y errores típicos

Trabajar con grupos es como lidiar con gatitos: parece todo fácil y simple, pero si te descuidas, pueden desatar el caos:

  1. Opción -aG. Olvidas poner -a, y sin querer eliminas al usuario de todos los grupos, excepto del nuevo. Esto es especialmente "divertido" si ese usuario formaba parte de un grupo del sistema como sudo.

  2. Los cambios toman efecto después de un nuevo inicio de sesión. Si el usuario no ve el nuevo grupo inmediatamente después de añadirlo, ¡no entres en pánico! Necesita cerrar sesión y volver a entrar para obtener los nuevos permisos.

  3. Respeta los nombres. No uses espacios o caracteres especiales en los nombres de los grupos. Nombres como awesome@group funcionan mal y hacen sufrir a los administradores.

  4. Revisa los permisos de acceso. ¿El grupo está creado y añadido? Genial, pero si los archivos no tienen permisos para el grupo, habrás decepcionado a los usuarios. Tómalo como una regla: los permisos se verifican y asignan por separado.

En la vida real

En proyectos reales, la gestión de grupos se utiliza para:

  • Dividir los permisos de acceso a recursos del servidor entre desarrolladores, testers y administradores.
  • Configurar directorios de trabajo compartidos para equipos.
  • Gestionar el acceso a bases de datos, archivos de configuración, scripts y, por supuesto, la máquina de café (bueno, en eso Linux aún no nos salva).

Ahora que sabes cómo crear y gestionar grupos en Linux, estás listo para una administración elegante y eficiente de tu sistema.

Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION