Cambio de grupo en Linux

LinuxBeginner
Practicar Ahora

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.

Este es un Guided Lab, que proporciona instrucciones paso a paso para ayudarte a aprender y practicar. Sigue las instrucciones cuidadosamente para completar cada paso y obtener experiencia práctica. Los datos históricos muestran que este es un laboratorio de nivel principiante con una tasa de finalización del 96%. Ha recibido una tasa de reseñas positivas del 100% por parte de los estudiantes.

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:

  1. Uso de chgrp para cambiar la propiedad de grupo de archivos
  2. Uso de la opción -R para cambios recursivos de propiedad de grupo
  3. Visualización de la propiedad y permisos de archivos con ls -l
  4. Examen de la información de grupo con getent group y groups
  5. Comprensión de la relación entre la propiedad de grupo y los permisos de archivo
  6. 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.