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 El 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 chmod comando con -R , (--recursive ) opción. La 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/html directorio a 755 usarías:
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 root, el propietario del archivo o el usuario con sudo privilegios puede cambiar los permisos de un archivo. Tenga mucho cuidado al cambiar recursivamente los permisos de los archivos.
Usando el find Comando #
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 a 644 y permisos de 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 El comando busca archivos o directorios en /var/www/html y pasa cada archivo o directorio encontrado al chmod comando para establecer los permisos.
Al usar find con -exec , el chmod El comando se ejecuta para cada entrada encontrada. Usa los xargs Comando para acelerar la operación pasando varias entradas a la vez:
find /var/www/html -type d -print0 | xargs -0 chmod 755find /var/www/html -type f -print0 | xargs -0 chmod 644
Conclusión #
El chmod comando con -R opciones le permite cambiar recursivamente los permisos del archivo.
Para establecer recursivamente los permisos de los archivos según su tipo, use chmod en combinación con find comando.
Si tiene alguna pregunta o comentario, no dude en dejar un comentario.