Cómo cambiar de forma recursiva los permisos de archivos en Linux

27 feb 2021 2 min di lettura
Cómo cambiar de forma recursiva los permisos de archivos en Linux
Indice dei contenuti

Introducción

Si está utilizando Linux como su sistema operativo principal o administrando servidores Linux, surgirá una situación cuando intente crear o modificar un archivo y obtenga un error de "Denegación de permiso". Generalmente, los errores relacionados con permisos insuficientes se pueden resolver estableciendo los permisos correctos o la propiedad del archivo.

Linux es un sistema multiusuario y el acceso a los archivos se controla mediante permisos, atributos y propiedad de los archivos. Esto asegura que solo los usuarios y procesos autorizados puedan acceder a archivos y directorios.

Para obtener más información sobre los permisos de archivos, consulte Umask Command en Linux.

En este artículo, explicaremos cómo cambiar de forma recursiva los permisos de archivos y directorios.

Comando Chmod recursivo

El chmod permite cambiar los permisos de archivo usando el modo simbólico o numérico.

Para operar recursivamente en todos los archivos y directorios en un directorio dado, use el chmod con la -R, ( --recursive ). La sintaxis general para cambiar de forma recursiva los permisos de archivos es la siguiente:

chmod -R MODE DIRECTORY

Por ejemplo, para cambiar los permisos de todos los archivos y subdirectorios del directorio /var/www/html 755, use:

chmod -R 755 /var/www/html

El modo también se puede especificar mediante el método simbólico:

chmod -R u=rwx,go=rx /var/www/html

Solo el root, el propietario del archivo o el usuario con sudo pueden cambiar los permisos de un archivo. Tenga especial cuidado al cambiar de forma recursiva los permisos de archivo.

Buscar comando

En general, los archivos y directorios no deberían tener los mismos permisos. La mayoría de los archivos no requieren permiso de ejecución, pero los permisos de ejecución deben establecerse en directorios para poder modificarlos.

El escenario más común es cambiar de forma recursiva los permisos de archivo de un sitio web a 644 y los permisos de carpeta a 755.

Usando el método numérico:

find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;

Usando el método simbólico:

find /var/www/html -type d -exec chmod u=rwx,go=rx {} \;
find /var/www/html -type f -exec chmod u=rw,go=r {} \;

El find busca archivos o directorios en /var/www/html y pasa cada archivo o directorio encontrado al chmod para establecer los permisos.

Cuando se usa find con -exec, el chmod se ejecuta para cada elemento encontrado. Utilice el xargs para acelerar la operación pasando varias entradas al mismo tiempo:

find /var/www/html -type d -print0 | xargs -0 chmod 755
find /var/www/html -type f -print0 | xargs -0 chmod 644

Conclusión

El chmod con la -R permite cambiar de forma recursiva los permisos del archivo.

Para establecer de forma recursiva los permisos de archivo en función de su tipo, utilice chmod junto con el comando de find

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.