Introducción
En los sistemas Linux, la propiedad de archivos es un aspecto crucial de la seguridad y el control de acceso. Cada archivo y directorio tiene un propietario y una asignación de grupo que determina quién puede leer, escribir o ejecutarlo. Comprender cómo gestionar la propiedad de archivos es esencial para los administradores de sistemas y usuarios de Linux para mantener una adecuada seguridad y organización en sus sistemas.
Este laboratorio (LabEx) se centra en aprender cómo cambiar y gestionar la propiedad de archivos en Linux utilizando el comando chown. Aprenderá cómo ver la propiedad actual, cambiar los propietarios de archivos, modificar las asignaciones de grupo y aplicar estos cambios de forma recursiva a los directorios.
Comprendiendo la propiedad de archivos en Linux
En Linux, cada archivo y directorio tiene un propietario y una asignación de grupo. Estos atributos de propiedad son fundamentales para el sistema de permisos de Linux.
Comencemos examinando la estructura actual del directorio y comprendiendo la propiedad de archivos:
cd ~/project
ls -l
La salida debe mostrar una lista de archivos y directorios (si los hay) con su información de propiedad. En la salida de ls -l, la tercera columna muestra el propietario y la cuarta columna muestra el grupo.
Ahora, creemos un nuevo archivo y examinemos su propiedad predeterminada:
touch data_file.txt
ls -l data_file.txt
Debería ver una salida similar a esta:
-rw-r--r-- 1 labex labex 0 Jan 1 12:00 data_file.txt
Esto muestra que el archivo data_file.txt está propiedad del usuario labex y pertenece al grupo labex. La primera parte (-rw-r--r--) muestra los permisos del archivo.
Para entender como quién estás actualmente conectado, ejecuta:
whoami
Este comando muestra tu nombre de usuario actual, que debería ser labex. Esto explica por qué los archivos recién creados están propiedad del usuario labex.
Cambiando la propiedad de archivos con chown
El comando chown se utiliza para cambiar el propietario de un archivo o directorio. Se requieren privilegios de root (sudo) para cambiar la propiedad a otro usuario.
Primero, creemos un nuevo usuario que usaremos como el nuevo propietario de nuestro archivo:
sudo adduser --disabled-password --gecos "" datauser
Esto crea un nuevo usuario llamado datauser sin contraseña (solo para fines de laboratorio). La opción --gecos "" omite las preguntas para la información del usuario.
Ahora, cambiemos la propiedad de data_file.txt de labex a datauser:
sudo chown datauser data_file.txt
ls -l data_file.txt
La salida ahora debería mostrar datauser como el propietario:
-rw-r--r-- 1 datauser labex 0 Jan 1 12:00 data_file.txt
La sintaxis básica del comando chown es:
chown [OPTIONS] USER[:GROUP] FILE(s)
Donde:
USERes el nombre de usuario del nuevo propietarioGROUP(opcional) es el nombre del nuevo grupoFILE(s)son los archivos o directorios para los que se cambiará la propiedad
Creemos otro archivo para practicar:
touch config_file.txt
sudo chown datauser config_file.txt
ls -l config_file.txt
Verifica que la propiedad se haya cambiado correctamente.
Cambiando la propiedad de grupo
En Linux, los archivos también pertenecen a un grupo específico. La asignación de grupo afecta lo que los usuarios dentro de ese grupo pueden hacer con el archivo en función de los permisos de grupo.
Creemos un nuevo grupo y luego asignemos nuestros archivos a este grupo:
sudo groupadd datagroup
groups
El comando groups muestra a qué grupos pertenece el usuario actual. Ahora, agreguemos nuestro usuario actual al nuevo grupo:
sudo usermod -a -G datagroup labex
Este comando agrega (-a) el usuario labex al grupo (-G) datagroup. Tenga en cuenta que para que los cambios de grupo surtan efecto, normalmente es necesario cerrar sesión y volver a iniciar sesión. Para los fines de este laboratorio, continuaremos sin cerrar sesión.
Ahora, cambiemos la propiedad de grupo de nuestro archivo:
sudo chown :datagroup data_file.txt
ls -l data_file.txt
La salida ahora debería mostrar:
-rw-r--r-- 1 datauser datagroup 0 Jan 1 12:00 data_file.txt
Note que usamos :datagroup para especificar solo el grupo sin cambiar el propietario. También puede cambiar tanto el propietario como el grupo en un solo comando:
sudo chown datauser:datagroup config_file.txt
ls -l config_file.txt
Esto cambia tanto el propietario como el grupo de config_file.txt a datauser y datagroup respectivamente.
Cambios de propiedad recursivos
A menudo, es necesario cambiar la propiedad de un directorio y de todo su contenido. La opción -R (recursiva) con chown permite hacer esto.
Creemos un directorio con algunos archivos dentro:
mkdir -p data_directory/subdirectory
touch data_directory/file1.txt
touch data_directory/file2.txt
touch data_directory/subdirectory/file3.txt
Examinemos la propiedad actual del directorio y de su contenido:
ls -l data_directory
ls -l data_directory/subdirectory
Ahora, cambiemos recursivamente la propiedad del directorio y de todo lo que contiene:
sudo chown -R datauser:datagroup data_directory
Verifiquemos los resultados:
ls -l data_directory
ls -l data_directory/subdirectory
Todos los archivos y directorios dentro de data_directory ahora deben ser propiedad de datauser y pertenecer al grupo datagroup.
La opción recursiva es muy poderosa y debe usarse con cautela, especialmente al cambiar la propiedad de directorios del sistema, ya que podría afectar la funcionalidad del sistema si se usa incorrectamente.
Resumen
En este laboratorio, has aprendido cómo gestionar la propiedad de archivos en Linux, que es una habilidad esencial para la administración de sistemas y la gestión de seguridad. Aquí está un resumen de lo que has logrado:
- Has aprendido sobre los conceptos de propiedad de archivos en Linux y cómo ver la información de propiedad actual.
- Has creado un nuevo usuario y cambiado la propiedad de archivos utilizando el comando
chown. - Has aprendido cómo crear y gestionar grupos, y cómo cambiar la propiedad de grupo de archivos.
- Has explorado cómo cambiar recursivamente la propiedad de directorios y su contenido.
Estas habilidades son fundamentales para la gestión de sistemas Linux, especialmente en entornos multi-usuario donde los permisos y la propiedad adecuados de archivos son cruciales para la seguridad y la funcionalidad operativa.
Recuerda que cambiar la propiedad requiere privilegios de superusuario (utilizando sudo), y los cambios recursivos deben realizarse con cautela para evitar consecuencias no deseadas, especialmente en entornos de producción.



