En esta entrada se detallan las formas para tratar con grupos, además como gestionar archivos y directorios para asociarlos a uno.
Se explica como crear grupos de varias formas y con varios comandos (también de manera manual, modificarlos y eliminarlos.
También se trata como cambiar el grupo al cual pertenece un archivo o directorio individial y recursivamente.
De la mano de este artículo podría interesarte Gesión de usuarios por comandos en Linux
Gestión de grupos por comandos
Conceptos Generales
Dato | Descripción |
---|---|
ID | Es el identificador de usuario, es un dato único |
GID | Es el identificador del grupo al que pertenece el usuario por defecto |
Texto descriptivo de usuario | En algunos sistemas este campo se utiliza para incluir el nombre completo del usuario y sus datos personales |
Crear Grupos
Al igual que para crear un usuario podemos crear grupos de varias formas distintas con más o menos complejidad que van de la mano de más o menos personalización, por ejemplo podríamos establecer un determinado GID a un grupo.
Crear usuario de forma sencilla con el comando groupadd
El comando groupadd permite crear un grupo tan solo con la orden seguida del nombre del grupo:
sudo groupadd “nombreGrupo”
Aún así suele bastar pero tal vez necesitemos algunas carácterísticas (sobre todo si lo usamos en algún script).
La lista de opciones para el comando groupadd son:
Opción | Descripción |
---|---|
-f | Termina si el grupo ya existe, y cancela -g si el GID ya se está en uso |
-g | Utiliza GID para el nuevo grupo |
-h | Muestra un mensaje de ayuda y termina |
-K | Sobrescribe los valores predeterminados de /etc/login.defs |
-o | Permite crear grupos con GID (no únicos) duplicados |
-p | Utiliza esta contraseña cifrada para el nuevo grupo |
-r | Crea una cuenta del sistema |
-R | Directory to chroot into |
Crear grupo mediante addgroup con cierta personalización
Otro método para crear un grupo es mediante la herramienta addgroup, la cual tiene la siguiente sintaxis:
addgroup [–group] [-g gid] grupo
Con el parámetro –group indicamos que es el grupo del sistema.
Con “-g” podemos asignar un id específico, en caso contrario tomará el primero libre.
Ejemplo creando un grupo:
sudo addgroup –group “nombreGrupo”
Ahora un ejemplo creando un grupo con un id específico (6543):
sudo addgroup –group -g 6543 “nombreGrupo”
Añadir un grupo del sistema:
sudo addgroup –system [–gid ID] GRUPO
Crear grupo de forma manual editando archivos
Para añadir un grupo manualmente tendremos que editar el archivo /etc/group
Abriremos el archivo con un editor de texto:
sudo nano /etc/group
Y dentro añadiremos una línea similar a la siguiente al final del archivo donde 1004 será el GID:
multimedia:x:1004
Modificar Grupos
El comando “groupmod” permite modificar la información del grupo. La sintaxis para modificar el valor de un grupo es la siguiente:
groupmod [-g gid] [-n nombre] grupo
De los valores entre corchetes modificaremos aquellos que necesitamos cambiar al grupo, el grupo va al final.
Algunas de las opciones para este comando son:
Opción | Descripción |
---|---|
-g | Cambia el identificador del grupo a GID |
-h | Muestra un mensaje de ayuda y termina |
-n | Cambia el nombre a GRUPO_NUEVO |
-o | Permite utilizar un GID duplicado (no único) |
-p | Cambia la contraseña a CONTRASEÑA (cifrada) |
-R | Directory to chroot into |
Eliminar Grupos
El comando “groupdel” es el que nos permitirá borrar grupos. Se utiliza con una sintaxis muy limpia:
groupdel grupo
Realmente lo que hace es borrar un grupo del archivo /etc/group
Cambiar Grupo de un archivo o directorio
El comando “chgrp” permite cambiar el grupo de un archivo o un directorio.
Para cambiar el grupo de solo un archivo o directorio utilizaremos la siguiente sintaxis:
chgrp “NombreGrupo” “Archivo”
A continuación un ejemplo para cambiar todo el directorio Proyecto y lo que incluya de forma recursiva (directorio dentro de directorio) para que ahora pertenezca al grupo userProy:
sudo chgrp -R userProy /home/usuario/Proyecto
Con la opción “-R” hacemos que cambie de forma recursiva todos los archivos y directorio de forma recursiva