Los grupos en Linux son aquellos que permiten administrar el control y acceso a los recursos del sistema operativo a un grupo de usuarios a la vez. La gestión de grupos en Linux es uno de los mecanismos usados para ordenar un grupo de usuarios y dar permisos de lectura, escritura y ejecución (R, W, X). Por otra parte, al crear un nuevo usuario en el sistema también se crea un grupo por defecto con el mismo nombre al que pertenecerá.
Los usuarios en Linux tienen acceso a dos tipos de grupos:
- Grupo Primario: Consta de un ID único llamado GID (ID de grupo) en:
/etc/passwd
En Linux solo puede existir un grupo primario. - Grupo Secundario o suplementario: Son aquellos grupos adicionales de los cuales un usuario puede formar parte y son gestionados en el fichero:
/etc/groups
.
Por otra parte, un usuario puede cambiarse temporalmente del grupo al que pertenece:
- Grupo Real: es el grupo primario que se encuentra en
/etc/passwd
. Este es el grupo al cual el usuario pertenece al iniciar sesión en el sistema. - Grupo efectivo: Es el grupo temporal al que pertenecerá el usuario y dicha configuración se mantendrá hasta que el usuario cierre sesión o cambie de grupo efectivo. Usando el comando
newgrp
se puede cambiar el grupo primario al que pertenece el usuario.
Comandos para la gestión de grupos en Linux
groupadd
– Agrega un grupo nuevo.groupdel
– Elimina un grupogroupmod
– Modifica la información contenida en/etc/groups
gpasswd
– Modifica la contraseña del grupo, contenido en/etc/gshadow
Ahora vallamos a lo importante como crear, modificar, eliminar o asignar grupos en Linux.
Puede interesarte el artículo de como ¿Cómo Instalar Firefox en Linux desde la terminal?
¿Como crear grupos en Linux?
Para crear grupos en Linux usamos el comando groupadd
seguido del nombre que deseamos dar al grupo en nuestro caso y como ejemplo crearemos dos grupos, uno llamado grupoEditores
y otro llamado grupoEscritores
.
groupadd grupoeditores
groupadd grupoescritores
¿Como agregar usuarios a un grupo en Linux?
Agregar usuarios a un grupo en Linux se hace mediante el comando usermod
con los parámetros «añadir» -a(append)
seguido -G(group)
del nombre del grupo y usuario. -G agrega un grupo como grupo adicional o secundario. Adicionalmente, podemos agregar varios grupos a un usuario separando los grupos por comas (,) de la siguiente manera -G grupo1, grupo2, grupo3 etc.
usermod -a -G grupoeditores uguia
usermod -a -G grupoescritores uguia2
Método 2: Otra forma de agregar usuarios a grupos en Linux es usando el comando gpasswd
con el parámetro -a(append) de la siguiente manera:
gpasswd -a nombredeusuario nombredegrupo
Te puede interesar ¿Como crear, modificar o eliminar usuarios en Linux? Gestión de usuarios en Linux
¿Cómo saber a qué grupos pertenece un usuario en Linux?
Para conocer a que grupos pertenece un usuario en Linux podemos utilizar dos comandos que son groups
o id
seguido del nombre de usuario:
groups uguia
id uguia2
¿Como modificar el nombre de un grupo en Linux?
Para modificar el nombre de un grupo en Linux podemos hacer uso del comando groupmod
de la siguiente manera
groupmod -n gruponuevo grupoantiguo
Ejemplo:
groupmod -n grupoeditor grupoeditores
¿Como modificar el grupo primario de un usuario en Linux?
Para cambiar el grupo primario de un usuario en Linux debemos ejecutar el siguiente comando:
usermod -g grupo usuario
ejemplo:
usermod -g grupoeditor uguia
¿Como eliminar usuarios de un grupo en Linux?
Para eliminar un usuario de un grupo en Linux primero debemos saber a qué grupos pertenece con el siguiente comando:
id -nG usuario
Ejemplo:
id -nG uguia
Este comando en la terminal nos devolverá los grupos a los que pertenece el usuario en cuestión, en este caso no devuelve los grupos uguia
, grupoeditor
y grupoescritor
si deseamos eliminar el usuario del grupo grupoeditor
debemos ejecutar el siguiente comando:
usermod -G grupo usuario
Ejemplo:
usermod -G uguia, grupoescritores uguia
Si volvemos a consultar a que grupos pertenece el usuario uguia observaremos que solo pertenece a los grupos uguia
y grupoescritores
.
Método 2: Otra forma de eliminar usuarios de un grupo en Linux es usando el comando gpasswd
con el parámetro -d de la siguiente manera:
gpasswd -d nombredeusuario nombredegrupo
Cambiar el GID de un grupo en Linux
La forma de cambiar el GID de un grupo debemos ejecutar el comando groupmod
con -g
de la siguiente manera:
groupmod -g 1050 grupoeditor
¿Como eliminar grupos en Linux?
Para eliminar un grupo en Linux ejecutaremos el siguiente comando en la terminal o consola:
groupdel NombreGrupo
¿Como agregar permisos a un grupo en Linux?
Para agregar los permisos de lectura, escritura y ejecución a un grupo en Linux para un determinado directorio o archivo debemos ejecutar los siguientes comandos:
Agregar el usuario al grupo
sudo usermod -a -G grupo usuario
Ejemplo:
sudo usermod -a -G grupolectura lectura
Creamos un directorio, carpeta o archivo de ejemplo al cual asignaremos el grupo y los permisos, en nuestro caso será una carpeta llamada permisos
asignaremos la propiedad al grupo llamado grupolectura
sudo chgrp nuevo_grupo nombre_del_archivo
Ejemplo:
sudo chgrp grupolectura permisos
Con el comando ls -l
podremos observar los permisos actuales del directorio, donde («d») significa que es un directorio («-«) significa que es un archivo regular y («L») un enlace. Seguidamente, mostrar los permisos ordenados como escritura, lectura, ejecución para los usuarios, grupos y otros. Cabe acotar que el permiso X o de ejecución en los directorios o carpetas indica que puedes acceder y ver o listar el contenido.
Como podemos observar en este caso es un directorio y el propietario es root
y está asignado al grupo, grupolectura
ahora procederemos darle permisos al grupo de lectura y lo hacemos con el comando siguiente:
sudo chmod permisos directorio
Ejemplo:
sudo chmod g+r+x permisos
De esta manera podemos observar que ahora el grupo lectura puede ver o leer dicho directorio más no puede escribir o editar. Él +x
en directorios indica que puedes entrar y ver el directorio, sin este permiso no podrás acceder al directorio y solo aplica para estos, con archivos el permiso de ejecución permite abrirlos o no.
Puedes usar esta calculadora chmod para convertir los diferentes permisos de Linux en valor numérico (700) o notación simbólica (RWX)
Parámetros de chmod para modificar permisos de grupos en Linux
- Se pasa como primer parámetro a que grupo o usuario se cambiara el permiso (se pueden agregar varios):
u
: usuariog
: grupoo
: otrosa
:all
también se puede dejar en blanco)
- Tipo de operación:
+
: añadir permisos-
: eliminar permisos
- Permisos:
r
: lecturaw
: escriturax
: ejecución
Ejemplos:
sudo chmod ug+x fichero o directorio
sudo chmod gu-x+w fichero o directorio
sudo chmod +x fichero o directorio
El fichero /etc/group
Es el fichero que almacena información sobre los grupos como el password o contraseña encriptada mediante un hash
entre otros
Comandos para la gestión de grupos en Linux
groupadd
– añade un grupo nuevo.groupdel
– Elimina un grupogroupmod
– Modifica la información contenida en/etc/groups
gpasswd
– Modifica el password del grupo, contenida en/etc/gshadow
[…] Linux cada archivo tiene permisos específicos asignados, un usuario propietario y un grupo. Debido a esto podemos usar el comando Find en Linux para filtrar las búsquedas de los archivos […]