Introducción
En Linux, cada archivo y directorio se asigna a un usuario y a un grupo. Este sistema de propiedad es un aspecto fundamental de la seguridad y el control de acceso en Linux. La capacidad de cambiar la propiedad del grupo es una habilidad esencial para los administradores de sistemas que necesitan gestionar eficientemente los permisos de archivo y los derechos de acceso.
Este laboratorio se centra en el comando chgrp, que te permite cambiar la propiedad del grupo de archivos y directorios en Linux. Al dominar este comando, adquirirás una mejor comprensión de la gestión de permisos de archivos y aprenderás un aspecto importante de la administración de sistemas.
A lo largo de este laboratorio, practicarás el uso del comando chgrp en diferentes escenarios, tanto para archivos individuales como de forma recursiva para directorios. También aprenderás cómo verificar los cambios de propiedad del grupo y entender por qué la gestión adecuada de grupos es crucial para la seguridad del sistema.
Comprendiendo la propiedad de grupo de archivos
En Linux, cada archivo tiene un propietario y un grupo. La asignación de grupo determina qué usuarios pueden acceder al archivo en función de los permisos de grupo. Exploremos cómo ver y cambiar la propiedad de grupo.
Primero, navega al directorio del proyecto:
cd ~/project
Ahora, creemos un nuevo archivo con el que trabajar:
touch defense_secrets.txt
Para ver la propiedad y los permisos actuales del archivo, utiliza el comando ls -l:
ls -l defense_secrets.txt
Verás una salida similar a esta:
-rw-r--r-- 1 labex labex 0 Jan 12 16:20 defense_secrets.txt
La salida muestra varias piezas de información:
- La primera columna muestra los permisos del archivo
- La tercera columna muestra el propietario (labex)
- La cuarta columna muestra el grupo (labex)
En nuestro sistema, se han creado dos grupos para ti: defenders y strategists. Cambiemos la propiedad de grupo de nuestro archivo del grupo predeterminado labex al grupo defenders utilizando el comando chgrp:
sudo chgrp defenders defense_secrets.txt
Ahora, verifica que el grupo se haya cambiado correctamente:
ls -l defense_secrets.txt
La salida ahora debe mostrar que el archivo pertenece al grupo defenders:
-rw-r--r-- 1 labex defenders 0 Jan 12 16:20 defense_secrets.txt
El comando chgrp requiere privilegios administrativos cuando se cambia a un grupo del que no eres miembro, por lo que usamos sudo en este ejemplo.
Cambio recursivo de la propiedad de grupo
A menudo, los administradores de sistemas necesitan cambiar la propiedad de grupo no solo de un solo archivo, sino de un directorio completo y todo su contenido. La opción -R (recursiva) del comando chgrp hace esta tarea sencilla.
Creemos un directorio con múltiples archivos para practicar:
mkdir -p ~/project/operational_plans
touch ~/project/operational_plans/plan1.txt
touch ~/project/operational_plans/plan2.txt
Primero, veamos la propiedad de grupo actual del directorio y sus archivos:
ls -l ~/project/operational_plans
Verás que ambos archivos pertenecen al grupo predeterminado labex:
-rw-r--r-- 1 labex labex 0 Jan 12 16:30 plan1.txt
-rw-r--r-- 1 labex labex 0 Jan 12 16:30 plan2.txt
Para cambiar la propiedad de grupo del directorio y todos los archivos dentro de él al grupo strategists, utiliza el comando chgrp con la opción -R:
sudo chgrp -R strategists ~/project/operational_plans
La opción -R le dice a chgrp que opere de forma recursiva, aplicando el cambio al directorio y a todo lo que contiene.
Ahora, verifica que la propiedad de grupo se haya cambiado tanto para el directorio como para su contenido:
ls -l ~/project
ls -l ~/project/operational_plans
La salida debe mostrar que el directorio y ambos archivos ahora pertenecen al grupo strategists:
drwxr-xr-x 2 labex strategists 4096 Jan 12 16:30 operational_plans
...
-rw-r--r-- 1 labex strategists 0 Jan 12 16:30 plan1.txt
-rw-r--r-- 1 labex strategists 0 Jan 12 16:30 plan2.txt
La opción recursiva es especialmente útil cuando se trata de estructuras de directorios grandes donde cambiar manualmente cada archivo sería poco práctico.
Comprendiendo la información y permisos de grupo
Ahora que sabes cómo cambiar la propiedad de grupo, exploremos cómo ver la información de grupo y entender por qué los permisos de grupo son importantes.
En Linux, la información sobre los grupos se almacena en el archivo /etc/group. Puedes ver los grupos que existen en el sistema con el comando getent:
getent group
Esto mostrará una larga lista de todos los grupos en el sistema. Para ver solo los grupos con los que hemos estado trabajando, puedes filtrar la salida:
getent group | grep -E 'defenders|strategists'
Deberías ver una salida similar a:
defenders:x:1001:
strategists:x:1002:
Para ver a qué grupos pertenece tu usuario actual, utiliza el comando groups:
groups
La salida muestra todos los grupos de los que tu usuario es miembro:
labex adm cdrom sudo dip plugdev lpadmin sambashare
Ahora, entendamos por qué los permisos de grupo son importantes. En Linux, los permisos de archivo se definen para tres categorías: propietario, grupo y otros. Creemos un nuevo archivo y modifiquemos sus permisos para demostrar esto:
touch ~/project/group_example.txt
ls -l ~/project/group_example.txt
La salida mostrará los permisos predeterminados:
-rw-r--r-- 1 labex labex 0 Jan 12 16:40 group_example.txt
La cadena de permisos -rw-r--r-- se puede desglosar como:
- Primer carácter: Tipo de archivo (- significa archivo regular)
- Los siguientes tres caracteres (rw-): Permisos del propietario (lectura, escritura, sin ejecución)
- Los siguientes tres caracteres (r--): Permisos del grupo (solo lectura)
- Los últimos tres caracteres (r--): Permisos de otros (solo lectura)
Cambiemos los permisos del grupo para permitir el acceso de escritura:
chmod g+w ~/project/group_example.txt
ls -l ~/project/group_example.txt
La salida ahora muestra:
-rw-rw-r-- 1 labex labex 0 Jan 12 16:40 group_example.txt
Observa que los permisos del grupo han cambiado de r-- a rw-.
Finalmente, combinemos lo que hemos aprendido cambiando tanto la propiedad de grupo como los permisos de grupo:
sudo chgrp defenders ~/project/group_example.txt
chmod g+x ~/project/group_example.txt
ls -l ~/project/group_example.txt
El resultado debería ser:
-rw-rwxr-- 1 labex defenders 0 Jan 12 16:40 group_example.txt
Ahora el archivo pertenece al grupo defenders y tiene permisos de lectura, escritura y ejecución para los miembros de ese grupo.
Resumen
En este laboratorio, has aprendido cómo gestionar la propiedad de grupo en Linux utilizando el comando chgrp. Comenzaste cambiando el grupo de un solo archivo y luego progresaste a cambiar de forma recursiva los grupos de directorios y su contenido. Finalmente, exploraste cómo ver la información de grupo y comprender la importancia de los permisos de grupo en la seguridad de archivos de Linux.
Conceptos clave cubiertos en este laboratorio:
- Uso de
chgrppara cambiar la propiedad de grupo de archivos - Uso de la opción
-Rpara cambios recursivos de propiedad de grupo - Visualización de la propiedad y permisos de archivos con
ls -l - Examen de la información de grupo con
getent groupygroups - Comprensión de la relación entre la propiedad de grupo y los permisos de archivo
- Modificación de los permisos de grupo con
chmod
Estas habilidades son esenciales para la administración de sistemas Linux, especialmente cuando se comparten recursos y se implementan controles de acceso adecuados. La capacidad de asignar y gestionar correctamente la propiedad de grupo ayuda a mantener la seguridad mientras se permite el acceso a archivos y directorios.



