Este artículo explica qué permisos son los correctos para tus archivos y directorios.
Archivos
Los archivos siempre deben cargarse y configurarse en chmod 644
. Las únicas excepciones importantes son:
- Archivos PHP que contienen información confidencial, p. Ej. archivos de configuración que contienen nombres de usuario y contraseñas de bases de datos (wp-config.php de WordPress, por ejemplo). Por razones de seguridad, estos archivos deben ser
chmod 600
; de hecho, no hace daño configurar TODOS los scripts web php enchmod 600
. Los archivos no necesitan el conjunto de bits de ejecución porque son interpretados por PHP. - Scripts que se ejecutan desde la línea de comandos de shell o crontab utilizando el shebang (PHP, Perl o Python): dichos archivos deben ser
chmod 700
porque en realidad están siendo ejecutados directamente por su cuenta de usuario de Linux. - Los scripts que se ejecutan desde el cgi-bin u otro directorio como un script CGI usando el shebang, deben ser
chmod 700
porque también son ejecutados directamente por tu cuenta de usuario de Linux. - Archivo .htaccess: estos archivos pueden ser
chmod 644
, pero una solución más segura es configurarlos comochmod 444
(si, solo lectura). Esto ofrece más protección contra algunos ataques simples de inyección de archivos.
Cada vez que cargues archivos con el Administrador de archivos de cPanel, esos archivos se establecerán en chmod 644
de manera automática. A menos que tu software FTP se haya configurado especialmente para configurar los archivos cargados con diferentes permisos, los archivos recién cargados también se configurarán en chmod 644
de forma automática.
Directorios
Los directorios siempre deben cargarse y configurarse en chmod 755
.
Cada vez que cargues archivos usando el Administrador de archivos de cPanel, los directorios se configurarán automáticamente chmod 755
. A menos que tu software FTP se haya configurado especialmente para cargar directorios con diferentes permisos, los directorios recién creados también se establecerán en chmod 755
automáticamente.
¿¡Pero si las recomendaciones de instalación para mi aplicación web PHP dicen lo contrario!?
De verdad ingnóralos. Los desarrolladores de software a menudo están más interesados en hacer que su software funcione que la seguridad de tu sitio web. Es posible que te digan que los directorios deben ser chmod 777
. o incluso que los archivos deben ser chmod 755
, pero si solo están hablando de un sitio web basado en PHP, los archivos PHP funcionarán perfectamente con chmod 600
. o chmod 644
.
_Gracias por leernos.