Chown es un comando en Linux que se utiliza con el fin de cambiar el propietario de un conjunto de archivos o directorios.
Chown viene con múltiples opciones y se utiliza a menudo para cambiar el grupo propietario del archivo.
Sin embargo, en algunos casos, es posible que necesites cambiar el propietario de un directorio con todos los archivos que contiene.
Para ello, es posible que necesites utilizar una de las opciones del comando chown: chown recursivo.
En este tutorial, vas a aprender cómo puedes utilizar recursivamente el comando chown para cambiar los permisos de carpetas y archivos de forma recursiva.
Tabla de contenidos
Chown recursivo
La forma más sencilla de utilizar el comando chown recursivo es ejecutar «chown» con la opción «-R» de recursivo y especificar el nuevo propietario y las carpetas que queremos cambiar.
$ chown -R <owner> <folder_1> <folder_2> ... <folder_n>
Por ejemplo, si quieres cambiar el propietario de los directorios y archivos contenidos en el directorio personal de un usuario concreto, escribirías
$ chown -R user /home/user
Nota : si necesitas una guía completa sobre el comando chown, escribimos una extensa sobre permisos de archivos en Linux.
Chown Usuario y Grupo Recursivamente
Para cambiar el usuario y el grupo propietario de los directorios y archivos, hay que ejecutar «chown» con la opción «-R» y especificar el usuario y el grupo separados por dos puntos.
$ chown -R <user>:<group> <folder_1> <folder_2> ... <folder_n>
Por ejemplo, digamos que queremos cambiar el usuario propietario de los archivos a «user» y el grupo propietario de los archivos a «root».
Para conseguirlo, ejecutarías el siguiente comando
$ chown -R user:root /home/user
¡Felicidades, has utilizado con éxito el comando «chown» de forma recursiva para cambiar los propietarios en tu servidor!
Chown recursivamente usando find
Otra forma de usar el comando «chown» recursivamente es combinarlo con el comando «find» para encontrar archivos que coincidan con un patrón dado y cambiar sus propietarios y grupos.
$ find <path> -name <pattern> -exec chown <user>:<group> {} \;
Por ejemplo, digamos que usted quiere cambiar el propietario de todos los archivos TXT que están presentes dentro de un directorio dado en su servidor.
En primer lugar, es muy recomendable ejecutar el comando «find» solo para verificar que está coincidiendo con los archivos correctos.
En este ejemplo, vamos a coincidir con todos los archivos TXT en el directorio home del usuario actual.
$ find /home/user -name *.txt
Ahora que te has asegurado de que estás apuntando a los archivos correctos, puedes enlazarlo con el «chown» para cambiar recursivamente los permisos.
$ find /home/user -name *.txt -exec chown user {} \;
Como puede ver, el propietario de los archivos TXT fue cambiado, sin embargo ninguno de los otros archivos y directorios fueron alterados.
Cuidado con el chown recursivo
En Linux, ejecutar comandos como chown, chmod o rm es definitivo : no hay vuelta atrás.
Como consecuencia, tendrás que tener mucho cuidado de no ejecutar ningún comando que dañe tu sistema.
Este punto se ilustra en la sección anterior : ejecutamos el comando find solo y nos aseguramos de que el resultado era el correcto.
Después, ejecutamos el comando chown para cambiar recursivamente los permisos de los archivos desde el comando anterior.
Como regla general : si no estás seguro de la salida de un comando, divídelo en trozos más pequeños hasta que estés seguro de que no vas a ejecutar nada dañino.
Conclusión
En este tutorial, has aprendido cómo puedes ejecutar el comando chown de forma recursiva en tu sistema.
Aprendiste que puedes lograrlo usando la opción «-R» o combinándolo con el comando find.
Los permisos en Linux son un tema amplio : realmente te animamos a que eches un vistazo a nuestra guía completa sobre Permisos en Linux si quieres aprender más.
También, si estás interesado en la Administración de Sistemas Linux, tenemos una sección completa dedicada a ello en el sitio web, ¡así que asegúrate de revisarla!