Linux

Linux : ¿cómo cambiar el propietario de un archivo con el comando chown?

I. Introducción

¿Cómo se cambia el propietario de un archivo o carpeta en Linux? El comando chown proporciona una respuesta a esta pregunta. Como administrador del sistema, esta es una operación que deberías ser capaz de realizar.

El comando chown (abreviatura de "cambiar propietario") es un comando indispensable de Linux. Te permite cambiar el propietario y el grupo asociados a uno o más archivos o carpetas. Además del comando chown, también deberías estar familiarizado con el comando chmod, ya que te permite cambiar los permisos de un archivo o carpeta. Existe una verdadera complementariedad entre estos dos comandos. Juntos, te permiten gestionar los permisos de acceso y, por tanto, controlar quién tiene acceso a qué.

II. Sintaxis del comando chown

Comencemos con la sintaxis básica del comando chown.

chown [OPCIONES] propietario[:grupo] archivo
  • [OPCIONES] una o más opciones para adaptar el comportamiento del comando chown (habilitar la recursividad, por ejemplo)
  • propietario: el nuevo usuario propietario del fichero especificado en el campo
  • grupo: el nuevo grupo "propietario" asociado al fichero (opcional)
  • archivo: el archivo o directorio que se va a modificar.

Así pues, la presentación de la sintaxis me lleva a hablarte de las principales opciones del comando chown:

  • -R (--recursive): aplica los cambios de forma recursiva a todos los archivos y subcarpetas de una carpeta raíz.
  • -v (--verbose): muestra los cambios realizados para cada archivo (mejor visibilidad de las acciones realizadas).
  • --reference=: utiliza un fichero de referencia para copiar sus propiedades (propietario y grupo).
  • --help: muestra la ayuda y las opciones disponibles para el comando.

El usuario propietario y el grupo asociado a un fichero son visibles cuando se utiliza el comando ls. He aquí un ejemplo.

Linux - El comando chown

III. Ejemplos de uso de chown

En el resto de este artículo, aprenderás a utilizar el comando chown en diversas situaciones.

A. ¿Cómo puedo cambiar el propietario de un fichero?

Para cambiar el propietario de un archivo llamado "it-connect.txt" y establecerlo al usuario "flo":

chown flo it-connect.txt

Nota : añadir"sudo" como prefijo puede ser necesario, dependiendo del usuario con el que estés trabajando, el fichero con el que estés trabajando y la operación deseada. Si necesita cambiar el propietario de un archivo del sistema o de un archivo que no está en"/home/" de su usuario, es necesario utilizar "sudo" (en la mayoría de los casos).

Después de ejecutar este comando, el usuario "flo" se convierte en el nuevo propietario de este archivo. Puedes comprobarlo con el siguiente comando:

ls -l it-connect.txt

El cambio es claramente visible. El comando chown que acabamos de ejecutar ha modificado el usuario propietario, es decir, el valor enmarcado en naranja en la imagen inferior.

Para cambiar el usuario propietario y el grupo, la sintaxis es ligeramente diferente. En el ejemplo siguiente se define el usuario "flo" como propietario y se asocia el grupo "it-connect":

sudo chown flo:it-connect it-connect.txt

Al final, el comando ls devuelve el siguiente resultado:

-rw-rw-r-- 1 flo it-connect 0 janv. 24 09:29 it-connect.txt

B. ¿Cómo puedo cambiar el propietario de un conjunto de archivos?

Si desea cambiar el propietario de todos los archivos de un directorio, debe utilizar la opción "-R ". Esta opción le permite cambiar recursivamente el propietario (y posiblemente el grupo). En este caso, la operación se realiza de forma recursiva en el directorio "/home/flo/data".

sudo chown -R flo /home/flo/data

C. ¿Cómo puedo cambiar el grupo asignado a un fichero?

Si sólo quieres cambiar el grupo de un archivo, ¡puedes hacerlo! Pero ten cuidado, necesitas usar una sintaxis muy específica. Tienes que especificar dos puntos (:) seguidos del nombre del grupo, dejando en blanco la primera parte correspondiente al usuario propietario.

He aquí un ejemplo:

sudo chown :it-connect demo.txt

Este comando sólo modifica el grupo asociado al archivo "demo.txt ", sin afectar al propietario actual.

Para cambiar recursivamente el grupo en varios archivos :

sudo chown -R :it-connect /home/flo/data

Tras la ejecución de este comando, todos los archivos y subdirectorios ubicados bajo la raíz "/home/flo/data" tendrán "it-connect" como grupo asociado.

D. ¿Como uso un archivo de referencia con chown?

El comando chown te permite utilizar un archivo existente como referencia para copiar sus propiedades de propietario y grupo. En cierto modo, es una forma de duplicar esta información.

sudo chown --reference=demo.txt fichier1.txt

En este ejemplo, el archivo llamado "fichier1.txt" adoptará las mismas propiedades que "demo.txt".

Linux - Comando chown - Ejemplo con un fichero de referencia

E. El modo verbose del comando chown

La opción -v le permite ver los cambios realizados por el comando, en lo que se conoce como modo detallado.

sudo chown -v flo it-connect.txt

De hecho, podemos mezclar las distintas opciones. Ésta, por ejemplo, utiliza un fichero de referencia. El resultado del comando contiene una frase para explicar el cambio realizado.

sudo chown -v --reference=demo.txt fichier2.txt 
Ownership of 'fichier2.txt' changed from root:it-connect to flo:flo

Esta función es especialmente útil para rastrear los cambios realizados por los scripts.

F. Comprobar propietario y grupo antes de la modificación

La opción --from se utiliza para comprobar que el fichero pertenece a un usuario y grupo determinados antes de aplicar una modificación. Si no es así, se cancela la operación. La sintaxis es la siguiente:

sudo chown --from=[UtilisateurActuel]:[GroupeActuel] [NouvelUtilisateur]:[NouveauGroupe] fichier

Por ejemplo, para comprobar que el archivo llamado "fichier3.txt" pertenece a "flo" y al grupo "it-connect", y luego cambiar el propietario a "flo" y el grupo a "flo", usaríamos esto:

sudo chown -v --from=flo:it-connect flo:flo fichier3.txt

Especificando la opción "-v" se activa el modo verbose para obtener el resultado de la prueba. Aquí, la prueba falla, por lo que el comando chown no realiza ningún cambio. Al final, el resultado devuelto es el siguiente:

The ownership of 'fichier3.txt' is retained as root:it-connect

IV. Conclusión

Después de leer este tutorial, tendrás toda la información que necesitas para familiarizarte con el comando chown en Linux. Es simplemente indispensable para administrar un servidor Linux, ya sea Debian, Ubuntu, AlmaLinux u otra distribución.

author avatar
Florian Burnel Co-founder of IT-Connect
Systems and network engineer, co-founder of IT-Connect and Microsoft MVP "Cloud and Datacenter Management". I'd like to share my experience and discoveries through my articles. I'm a generalist with a particular interest in Microsoft solutions and scripting. Enjoy your reading.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.