Si está utilizando Linux como su sistema operativo principal o administrando servidores Linux, se encontrará con una situación cuando intente crear o editar un archivo y reciba un error de "Permiso denegado". Por lo general, los errores relacionados con permisos insuficientes se pueden resolver configurando los permisos o la propiedad de archivo correctos .

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

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

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

Chmod Recursivo

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

Para operar recursivamente en todos los archivos y directorios bajo un directorio dado, use el chmodcomando con la opción -R, ( ). --recursiveLa sintaxis general para cambiar recursivamente los permisos del archivo es la siguiente:

chmod -R MODE DIRECTORY

Por ejemplo, para cambiar los permisos de todos los archivos y subdirectorios bajo el /var/www/htmldirectorio 755, usaría:

chmod -R 755 /var/www/html

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

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

Solo la raíz, el propietario del archivo o el usuario con sudo privilegios pueden cambiar los permisos de un archivo. Tenga mucho cuidado al cambiar recursivamente los permisos de los archivos.

Usando el findcomando

En general, los archivos y directorios no deben tener los mismos permisos. La mayoría de los archivos no requieren el permiso de ejecución, mientras que debe establecer permisos de ejecución en los directorios para poder cambiar a ellos.

El escenario más común es cambiar recursivamente los permisos del archivo del sitio web 644y los permisos del directorio 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 comando busca archivos o directorios /var/www/htmly pasa cada archivo o directorio encontrado al chmodcomando para establecer los permisos.

Cuando se usa findcon -exec, el chmodcomando se ejecuta para cada entrada encontrada. Utilice el xargs comando para acelerar la operación pasando varias entradas a la vez:

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 chmodcomando con las -Ropciones le permite cambiar recursivamente los permisos del archivo.

Para establecer de forma recursiva los permisos de los archivos en función de su tipo, úselo chmoden combinación con el findcomando.

Si tiene alguna pregunta o comentario, no dude en dejar un comentario.