Cómo Agregar Usuarios a un Grupo en Linux

Add User Group Linux Featured Image

Los grupos son el pan y la mantequilla de un sistema Linux. Estas son listas especiales que te permiten agrupar múltiples usuarios en diferentes categorías. Además de asegurar los privilegios de las aplicaciones de tu sistema, permiten controlar finamente cómo cada cuenta en el sistema puede acceder y compartir sus archivos y carpetas.

Este artículo muestra cómo puedes usar la utilidad de grupos para agregar y modificar grupos existentes en Linux. Además, también destacará cómo funciona el sistema de permisos de Linux en conjunto con el sistema de grupos.

Tabla de Contenidos

  • ¿Cómo Funcionan los Grupos y los Permisos?
  • Visualizar las Membresías del Grupo para un Usuario en Linux
  • Crear un Nuevo Grupo en Linux
  • Agregar un Usuario Existente a un Nuevo Grupo en Linux
  • Preguntas Frecuentes

¿Cómo Funcionan los Grupos y los Permisos?

En su núcleo, un grupo de Linux es una colección de usuarios que comparten los mismos permisos y privilegios para un archivo o programa específico. Cada archivo en el sistema tiene un conjunto de bits de propiedad y permisos. Una de las formas más fáciles de encontrar esto es ejecutar ls -l en tu directorio personal.

Add User Group Linux Ls Long Format

Eso listará todos los archivos y carpetas visibles en el directorio junto con sus bits de propiedad y permisos. En su mayor parte, el formato general para esto se ve así:

-rwxrwxr-x1 ramces    maketecheasier    8.7k Oct 2420:39 hello.txt

Las primeras, tercera y cuarta columnas muestran tanto los bits de permisos como de propiedad del archivo actual. Por ejemplo, el valor “rwxrwxr-x” le dice al sistema que todos pueden leer este archivo, pero solo el usuario “ramces” y el grupo “maketecheasier” pueden escribir en él.

Estos dos bits trabajan de la mano para crear un sistema de control de acceso finamente ajustado en Linux. Los bits de permisos le indican al sistema cómo un archivo puede ser utilizado por los usuarios y grupos en los bits de propiedad.

Visualizar las Membresías del Grupo para un Usuario en Linux

El primer paso para modificar un grupo en Linux es saber cuáles están disponibles para un usuario para darte una idea de los grupos activos en el sistema.

Ejecutar el siguiente comando listará todos los grupos disponibles para el usuario actual:

id

Add User Group Linux 02 Id Program

Visualizar los Grupos Disponibles en el Sistema

Además de ver los grupos específicos del usuario, también es posible listar todos los grupos en el sistema ejecutando el siguiente comando:

sudoless/etc/group

Esto imprimirá todo el archivo “/etc/group” en la pantalla de tu terminal. Desplázate por el archivo presionando J o K.

Add User Group Linux 03 Etc Groups File

Por defecto, “/etc/group” es un archivo delimitado por dos puntos que contiene tanto usuarios como grupos específicos del sistema. Cada línea en este archivo representa un grupo actualmente activo en la máquina.

El formato general para cada línea se ve así:

nombre-del-grupo:contraseña:GID:usuarios
  • El nombre-del-grupo es la etiqueta para el grupo. En la mayoría de los casos, los grupos del sistema comienzan con un guión bajo para diferenciarlos de los grupos normales.
  • La contraseña es un campo opcional para crear grupos seguros, lo cual es útil si estás compartiendo el sistema con múltiples personas.
  • GID es el ID del Grupo para ese grupo en particular.
  • Por último, el campo usuarios es una lista separada por comas que contiene todos los usuarios que son parte de ese grupo.

Add User Group Linux 04 Etc Groups Format

Nota: incluso si no estás en el grupo root, aún puedes abrir archivos como root. Aprende a hacer eso.

Crear un Nuevo Grupo en Linux

Para crear un nuevo grupo en Linux, usa el comando groupadd. A diferencia de id, esta es una utilidad que solo se ocupa de la creación de grupos.

Por ejemplo, puedo ejecutar el siguiente comando para crear un nuevo grupo con el nombre “test.”

groupadd -vtest

Add User Group Linux 05 Create New Group

Crear un Nuevo Usuario con un Nuevo Grupo

También es posible crear tanto un nuevo usuario como un grupo en un solo comando, lo cual es útil cuando estás configurando una cuenta de scripting de shell con permisos predeterminados.

Para hacer esto, ejecuta el siguiente comando:

sudo useradd -m-G maketecheasier -s/bin/bashtest
  • El flag -m le dice a useradd que cree el directorio personal del nuevo usuario, ya que, por defecto, Linux no crea un directorio personal para el usuario “test”.
  • El flag -G le dice a useradd que cree y agregue al usuario “test” al grupo “maketecheasier”.
  • El flag -s establece el shell de inicio de sesión predeterminado para el usuario “test”. En mi caso, le estoy diciendo a la utilidad useradd que establezca el shell de inicio de sesión para el usuario “test” como Bash.

Add User Group Linux 06 Create New User And Group

Agregar un Usuario Existente a un Nuevo Grupo en Linux

Además de crear un grupo y su usuario, también puedes agregar usuarios existentes a un grupo ejecutando el siguiente comando:

sudo usermod -aG maketecheasier user

Add User Group Linux 07 Append Single User Group

Agregar Múltiples Usuarios a un Nuevo Grupo

Por último, también es posible incluir múltiples usuarios en tu nuevo grupo. Para hacer esto, ejecuta el siguiente comando:

sudo gpasswd -M ramces,test maketecheasier

Add User Group Linux 08 Append Multiple Users Groups

Esto establecerá la lista de miembros para el grupo “maketecheasier” incluyendo tanto “ramces” como “test.” Sin embargo, es importante notar que el flag -M siempre reemplaza el valor de usuarios en el archivo “/etc/group”.

Agregar nuevos usuarios a tu grupo también requerirá que incluyas a los usuarios que ya están en el grupo. Por ejemplo, ejecutar el siguiente comando agregará tanto a “alice” como a “bob” al grupo “maketecheasier”:

sudo gpasswd -M ramces,test,alice,bob maketecheasier

Add User Group Linux 09 Append More Users To Group

Consejo: aprende a cambiar a otra cuenta de usuario con el comando sudo.

Preguntas Frecuentes

¿Es posible editar el archivo /etc/group para modificar un grupo en Linux?

Si bien es posible modificar el archivo “/etc/group”, puede potencialmente arruinar el formato interno del archivo, llevando a sistemas con grupos no funcionales y permisos faltantes. Como tal, no es una buena práctica editar el archivo “/etc/group” directamente.

Mi nuevo grupo no aparece en la lista de grupos de mi usuario. ¿Está rota mi máquina?

¡No! Por defecto, el sistema de grupos de Linux no aplica ningún cambio que hagas a los usuarios en línea. Este enfoque protege a estos usuarios de cualquier cambio repentino del sistema que pueda impedirles acceder a un archivo o programa.

Para actualizar la lista de grupos de tu usuario, ya sea cierra sesión en la sesión actual o reinicia toda la máquina.

Crédito de la imagen: Unsplash. Todas las alteraciones y capturas de pantalla por Ramces Red.