Cambio de propiedad en Linux

LinuxLinuxBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/touch("File Creating/Updating") linux/BasicFileOperationsGroup -.-> linux/chown("Ownership Changing") linux/FileandDirectoryManagementGroup -.-> linux/cd("Directory Changing") linux/FileandDirectoryManagementGroup -.-> linux/mkdir("Directory Creating") linux/UserandGroupManagementGroup -.-> linux/useradd("User Adding") linux/UserandGroupManagementGroup -.-> linux/usermod("User Modifying") linux/UserandGroupManagementGroup -.-> linux/groupadd("Group Adding") linux/UserandGroupManagementGroup -.-> linux/whoami("User Identifying") subgraph Lab Skills linux/ls -.-> lab-271243{{"Cambio de propiedad en Linux"}} linux/touch -.-> lab-271243{{"Cambio de propiedad en Linux"}} linux/chown -.-> lab-271243{{"Cambio de propiedad en Linux"}} linux/cd -.-> lab-271243{{"Cambio de propiedad en Linux"}} linux/mkdir -.-> lab-271243{{"Cambio de propiedad en Linux"}} linux/useradd -.-> lab-271243{{"Cambio de propiedad en Linux"}} linux/usermod -.-> lab-271243{{"Cambio de propiedad en Linux"}} linux/groupadd -.-> lab-271243{{"Cambio de propiedad en Linux"}} linux/whoami -.-> lab-271243{{"Cambio de propiedad en Linux"}} end

Comprender 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.

Cambiar 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:

  • USER es el nombre de usuario del nuevo propietario
  • GROUP (opcional) es el nombre del nuevo grupo
  • FILE(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.

Cambiar 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:

  1. Has aprendido sobre los conceptos de propiedad de archivos en Linux y cómo ver la información de propiedad actual.
  2. Has creado un nuevo usuario y cambiado la propiedad de archivos utilizando el comando chown.
  3. Has aprendido cómo crear y gestionar grupos, y cómo cambiar la propiedad de grupo de archivos.
  4. 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.