Administración de Grupos en Linux con groupadd, usermod y groupdel

CompTIABeginner
Practicar Ahora

Introducción

En esta práctica de laboratorio, aprenderás las habilidades fundamentales para gestionar grupos de usuarios en un entorno Linux. Obtendrás experiencia directa con las herramientas de línea de comandos esenciales para la administración de grupos, tales como groupadd para la creación de nuevos grupos, usermod para modificar los grupos a los que pertenece un usuario y groupdel para eliminar grupos del sistema.

Seguirás un flujo de trabajo práctico que comienza con la creación de un nuevo grupo. Posteriormente, añadirás un usuario existente a dicho grupo y utilizarás comandos de inspección como grep y groups para verificar los cambios realizados. Para finalizar la práctica, realizarás la eliminación del grupo y confirmarás su borrado, cubriendo así el ciclo de vida completo de la gestión de grupos.

Esta es una Práctica Guiada (Guided Lab), que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y ganar experiencia práctica. Los datos históricos muestran que esta es una práctica de nivel principiante con una tasa de finalización del 98%. Ha recibido una tasa de valoraciones positivas del 100% por parte de los alumnos.

Crear un Nuevo Grupo en Linux con groupadd

En este paso, aprenderás a crear un nuevo grupo de usuarios en tu sistema Linux. En Linux, los grupos son un mecanismo fundamental para gestionar permisos de múltiples usuarios de forma simultánea. En lugar de asignar permisos a cada usuario individualmente, puedes asignarlos a un grupo, y cualquier usuario que sea miembro de ese grupo heredará dichos permisos. Esto simplifica enormemente la administración del sistema, especialmente en entornos con muchos usuarios.

Para este ejercicio, supongamos que eres el administrador de sistemas de una empresa y necesitas crear un nuevo grupo para un equipo de investigación y desarrollo que se incorpora próximamente. Utilizaremos el comando groupadd para lograrlo. Este comando requiere privilegios administrativos, los cuales puedes obtener mediante el uso de sudo.

Primero, abre tu terminal. Debería iniciarse en el directorio por defecto, ~/project. Ahora, vamos a crear un nuevo grupo llamado research.

Ejecuta el siguiente comando:

sudo groupadd research

El comando sudo eleva tus privilegios para realizar esta tarea administrativa. groupadd es la instrucción para crear el grupo, y research es el nombre que hemos elegido para nuestro nuevo grupo.

Si el comando se ejecuta correctamente, no mostrará ningún mensaje de salida. Para confirmar que el grupo ha sido creado, puedes consultar el archivo /etc/group. Este archivo almacena información sobre todos los grupos del sistema. Podemos usar el comando grep para buscar nuestro grupo recién creado dentro de este archivo.

grep research /etc/group

Deberías ver una nueva línea en la salida que corresponde al grupo research. El formato es nombre_del_grupo:marcador_de_contraseña:id_de_grupo:miembros. Es posible que tu ID de grupo (GID) sea diferente al del ejemplo de abajo, lo cual es normal ya que el sistema lo asigna automáticamente.

research:x:5003:

Esta salida confirma que el grupo research ya existe en tu sistema, listo para que se le añadan usuarios.

Añadir un Usuario a un Grupo Secundario con usermod

En este paso, añadirás un usuario existente al grupo research que acabas de crear. En Linux, cada usuario tiene un grupo primario y puede pertenecer a múltiples grupos secundarios (también llamados grupos suplementarios). Esto permite una gestión de permisos muy flexible. Ahora que el grupo research está listo, añadiremos al usuario actual, labex, como miembro de este grupo secundario. Esto otorgará al usuario labex cualquier permiso asignado al grupo research sin cambiar su grupo primario.

Para modificar la pertenencia a grupos de un usuario, utilizamos el comando usermod. Esta es una utilidad potente para cambiar los detalles de las cuentas de usuario.

Usaremos el comando usermod con las opciones -aG:

  • -G: Especifica la nueva lista de grupos secundarios.
  • -a: Significa "append" (añadir). Esta es una opción muy importante. Añade al usuario al grupo o grupos especificados sin eliminarlo de sus grupos actuales. Si omites la -a, el usuario será eliminado de todos los demás grupos secundarios que no figuren en el comando.

En tu terminal, ejecuta el siguiente comando para añadir al usuario labex al grupo research:

sudo usermod -aG research labex

Este comando requiere sudo porque modifica información de usuario a nivel de sistema. research es el grupo al que estamos añadiendo al usuario, y labex es el usuario que está siendo modificado. Al igual que con groupadd, este comando no producirá ninguna salida si se ejecuta correctamente.

Puedes verificar el cambio inmediatamente inspeccionando de nuevo el archivo /etc/group.

grep research /etc/group

Ahora deberías ver al usuario labex listado al final de la línea correspondiente al grupo research.

research:x:5003:labex

Esto confirma que labex es ahora miembro del grupo research.

Inspeccionar la Pertenencia a Grupos con grep y groups

En este paso, aprenderás formas más eficientes de inspeccionar los grupos a los que pertenece un usuario. Aunque ya hemos usado grep en el archivo /etc/group para ver los miembros de un grupo específico, existen métodos más directos para visualizar todos los grupos a los que pertenece un usuario en particular. Esta es una tarea común para los administradores de sistemas al verificar permisos y configuraciones.

Primero, usemos grep de nuevo, pero esta vez para encontrar cada grupo secundario del cual el usuario labex es miembro. Al buscar el nombre de usuario en el archivo /etc/group, podrás ver todas las entradas de grupo donde labex aparece como miembro.

Ejecuta este comando en tu terminal:

grep labex /etc/group

La salida mostrará cada línea en /etc/group que contenga la cadena "labex". Esto incluirá el grupo research al que añadimos al usuario, así como cualquier otro grupo secundario predeterminado. Tu salida puede incluir grupos adicionales dependiendo de la configuración de tu sistema.

sudo:x:27:labex
ssl-cert:x:121:labex
labex:x:5000:
public:x:5002:labex
research:x:5003:labex

Aunque esto funciona, un comando más directo y amigable para esta tarea es groups. Este comando está diseñado específicamente para listar todos los grupos (tanto primarios como secundarios) de un usuario determinado.

Para ver todos los grupos a los que pertenece el usuario labex, ejecuta el siguiente comando:

groups labex

Este comando proporciona un resumen limpio en una sola línea de las afiliaciones de grupo del usuario.

labex : labex sudo ssl-cert public research

En esta salida, el nombre antes de los dos puntos (labex) es el usuario consultado. La lista después de los dos puntos muestra todos los grupos. El primer grupo de la lista (labex) es el grupo primario del usuario. Todos los grupos subsiguientes (sudo, ssl-cert, public, research) son los grupos secundarios. Este comando suele ser la forma más rápida de obtener una visión completa de la pertenencia a grupos de un usuario.

Eliminar un Grupo con groupdel y Verificar su Eliminación

En este paso final, aprenderás cómo eliminar un grupo del sistema. Esta es una tarea administrativa habitual cuando un equipo se disuelve o un proyecto finaliza y el grupo asociado ya no es necesario. Para eliminar un grupo, utilizamos el comando groupdel.

Al igual que la creación de un grupo, la eliminación es una acción administrativa que requiere privilegios de sudo. Es importante tener en cuenta que no puedes eliminar el grupo primario de un usuario existente. Primero deberías cambiar el grupo primario del usuario antes de eliminar el antiguo. Sin embargo, dado que research era solo un grupo secundario para labex, podemos eliminarlo sin inconvenientes.

En tu terminal, ejecuta el siguiente comando para eliminar el grupo research:

sudo groupdel research

El comando groupdel, cuando tiene éxito, no produce ninguna salida. Simplemente elimina la entrada del grupo de la base de datos de grupos del sistema, principalmente del archivo /etc/group.

Para confirmar que el grupo ha sido eliminado correctamente, podemos usar el mismo comando grep que utilizamos anteriormente para comprobar su existencia.

grep research /etc/group

En esta ocasión, el comando no debería producir ninguna salida. Te devolverá inmediatamente al cursor de la línea de comandos. Esta ausencia de salida es la confirmación de que la línea que contenía research ha sido eliminada del archivo /etc/group y, por lo tanto, el grupo ya no existe en el sistema.

Resumen

En esta práctica, has aprendido los conceptos fundamentales para la gestión de grupos de usuarios en un entorno Linux. Comenzaste creando un nuevo grupo llamado research mediante el comando sudo groupadd, una herramienta esencial para organizar usuarios y simplificar la gestión de permisos. Para confirmar la creación exitosa del grupo, inspeccionaste el archivo /etc/group con el comando grep, verificando que la nueva entrada del grupo se añadió correctamente.

La práctica también cubrió el ciclo de vida completo de la administración de grupos. Aprendiste cómo añadir un usuario existente a un grupo secundario con el comando usermod y cómo inspeccionar la pertenencia a grupos utilizando herramientas como grep y groups. Finalmente, practicaste la eliminación de un grupo del sistema mediante el comando groupdel y verificaste su borrado, completando así tu comprensión de las tareas esenciales de administración de grupos.