Comprender los permisos correctos para sus archivos y directorios de alojamiento es crucial para la seguridad y funcionalidad de su sitio web. Esta guía lo ayudará a configurar los permisos correctos para sus archivos y directorios en cPanel.
Archivos
Los archivos siempre deben cargarse y configurarse en chmod 644. Sin embargo, existen algunas excepciones importantes:
- Archivos PHP que contienen información confidencial: por ejemplo, archivos de configuración que contienen nombres de usuario y contraseñas de bases de datos (como wp-config.php de WordPress). Por razones de seguridad, estos archivos deben ser chmod 600. De hecho, es una buena práctica configurar todos los scripts web PHP en chmod 600. Estos archivos no necesitan el bit de ejecución configurado porque son interpretados por PHP.
- Los scripts se ejecutan desde la línea de comandos del shell o crontab usando el shebang requerido (PHP, Perl o Python): estos archivos deben ser chmod 700 porque los ejecuta directamente su cuenta de usuario de Linux.
- Los scripts se ejecutan desde cgi-bin u otro directorio como un script CGI utilizando el shebang requerido: estos también deben ser chmod 700 porque los ejecuta directamente su cuenta de usuario de Linux.
- Archivo .htaccess: estos archivos pueden ser chmod 644, pero una solución más segura es configurarlos en chmod 444 (efectivamente, de solo lectura). Esto ofrece más protección contra algunos ataques simples de inyección de archivos.
Cuando carga archivos usando cPanel File Manager, esos archivos se configurarán en chmod 644 automáticamente. A menos que su software FTP haya sido configurado especialmente para configurar los archivos cargados con diferentes permisos, los archivos recién cargados también se configurarán automáticamente en chmod 644.
Directorios
Los directorios siempre deben cargarse y configurarse en chmod 755.
Cuando carga archivos usando cPanel File Manager, los directorios se configurarán en chmod 755 automáticamente. A menos que su software FTP haya sido configurado especialmente para cargar directorios con permisos diferentes, los directorios recién creados también se configurarán en chmod 755 automáticamente.
¿Qué pasa si las notas de instalación de mi aplicación web PHP dicen lo contrario?
Los desarrolladores de software a menudo priorizan el funcionamiento de su software por encima de la seguridad de su sitio web. Es posible que le digan que los directorios deben ser chmod 777 o incluso que los archivos deben ser chmod 755, pero si está hablando de un sitio web basado en PHP, entonces los archivos PHP funcionarán bien como chmod 600 o chmod 644.
Esto se debe a que LiteSpeed sirve archivos PHP a través de suEXEC CGI. Los archivos PHP se sirven bajo el contexto de seguridad de su nombre de usuario de cPanel. Y debido a que su nombre de usuario es propietario de sus archivos web, solo tiene que otorgar permisos de lectura y escritura al propietario (por lo tanto, chmod 600).