Comprender y gestionar los permisos de archivos en cPanel

Los permisos de archivos definen quién puede leer, modificar o ejecutar archivos y carpetas en tu cuenta de hosting. Los permisos correctos son cruciales para mantener la seguridad del sitio web y el funcionamiento adecuado tanto de la cuenta de cPanel como de los sitios alojados.


¿Qué son los permisos de archivos?


En los servidores de hosting basados en Linux (utilizados por cPanel), cada archivo y carpeta tiene un Propietario, un Grupo y un conjunto de reglas de permisos.

Los permisos determinan qué acciones están permitidas para:

  • Usuario (Propietario) - tu cuenta de cPanel

  • Grupo - grupo a nivel de servidor

  • Otros/Mundo - todos los demás en el servidor

Cada uno de estos puede tener tres tipos de acceso a archivos y directorios:

  • Lectura (r) - permite ver el contenido del archivo / listar archivos dentro de la carpeta

  • Escritura (w) - permite modificar el archivo / añadir o eliminar archivos dentro de la carpeta

  • Ejecutar (x) - permite ejecutar el archivo (scripts, aplicaciones) / entrar / acceder a la carpeta

Nota: Una carpeta debe tener permiso de ejecución (x) para ser accesible.


El nivel de acceso también se define en números:

  • 0 - sin acceso al archivo

  • 1 - solo ejecutar

  • 2 - solo escribir

  • 3 - escribir y ejecutar

  • 4 - solo lectura

  • 5 - leer y ejecutar

  • 6 - leer y escribir

  • 7 - leer, escribir y ejecutar (permisos completos)

Ejemplos: los más comunes 755 y 644

  • Propietario: 7 - leer, escribir, ejecutar

  • Grupo: 5 - leer, ejecutar

  • Otros: 5 - leer, ejecutar

  • Propietario: 6 - leer, escribir

  • Grupo: 4 - leer

  • Otros: 4 - leer

Para asegurar que los archivos de tu sitio web se muestren correctamente en el navegador, recomendamos usar los siguientes permisos:

Archivos HTML e imágenes deben configurarse en 644 (0644) - esto permite que todos los usuarios lean los archivos, mientras que solo el propietario de la cuenta puede modificarlos. Estos permisos suelen aplicarse automáticamente al crear el archivo.

Carpetas deben configurarse en 755 (0755) - esto permite que otros lean y accedan al contenido de la carpeta, mientras que solo el propietario de la cuenta puede modificarlas. Estos permisos suelen asignarse automáticamente al crear la carpeta.

Archivos CGI (comúnmente ubicados en la carpeta cgi-bin) deben configurarse en 755 (0755). Esto permite que otros lean y ejecuten los archivos, mientras que solo el propietario de la cuenta puede modificarlos. Estos permisos no siempre se asignan automáticamente y puede que sea necesario ajustarlos manualmente.

Notas

  1. Evita establecer permisos en 777, ya que esto supone un grave riesgo de seguridad.

  2. Los permisos incorrectos pueden debilitar significativamente la seguridad de tu cuenta de hosting, permitiendo que usuarios no autorizados modifiquen tus archivos, expongan datos de configuración sensibles y aumenten el riesgo de infecciones por malware.

  3. Desde el punto de vista de la funcionalidad del sitio web, los permisos incorrectos pueden causar errores 500 Internal Server Error, errores "403 Permiso denegado", fallos en la carga de medios, problemas al instalar plugins o temas, etc.


Cómo cambiar los permisos de archivos y directorios


Los permisos pueden modificarse de tres maneras principales: usando el Administrador de archivos (en cPanel), SSH (línea de comandos), o un cron job (ejecución automática de comandos). Cada método es adecuado para diferentes situaciones.

  • Administrador de archivos

Útil cuando necesitas cambiar los permisos de uno o pocos archivos/carpetas.

  1. Inicia sesión en tu cuenta de cPanel, navega a la sección Archivos y abre el menú Administrador de archivos.

    O desde Administrador de hosting, haz clic en Gestionar junto al plan de hosting, ve a Archivos y almacenamiento y pulsa Gestionar archivos cerca del nombre del sitio web. Serás redirigido a la carpeta raíz del dominio en el Administrador de archivos.

  2. Verás los permisos actuales en la columna de la derecha llamada Permisos:


  3. Para editar los permisos actuales de un archivo/carpeta, simplemente haz clic una vez en los permisos del archivo, establece los números necesarios y pulsa Guardar (o Enter):


    Además, los permisos pueden modificarse haciendo clic derecho sobre un archivo/carpeta y seleccionando la opción Cambiar permisos. Aparecerá una ventana relacionada:



    Ajusta las casillas y haz clic en Cambiar permisos para guardar.


    Consejo: La misma tabla de configuración se abre al usar el menú superior del Administrador de archivos, la opción Permisos:


  • Línea de comandos SSH

SSH te permite modificar los permisos usando el chmod comando. Este método es útil cuando necesitas cambiar los permisos de muchos archivos.

  1. Accede a tu cuenta de hosting vía SSH.

  2. A continuación, navega al directorio raíz de tu dominio usando el siguiente comando:

    cd /home/username/root_folder

    Nota: Asegúrate de reemplazar username por tu nombre de usuario real de cPanel y root_folder por el nombre de directorio correcto de tu dominio:

  3. Ejecuta el siguiente comando para establecer los permisos de los directorios en 0755 y los permisos de los archivos en 0644:

    find ./ -type f -not -perm 644 -not -name ".ftpquota" -exec chmod 644 -c {} \;; find ./ -type d -not -perm 755 -not -group nobody -exec chmod 755 -c {} \;

  4. Tras completar el comando, se mostrará una lista de los archivos y carpetas cuyos permisos fueron actualizados:


  • Tareas Cron

Una tarea Cron te permite programar un comando (como chmod) para que se ejecute automáticamente en intervalos específicos.

  1. En tu cPanel, ve al menú Tareas Cron:


  2. En la sección Añadir nueva tarea Cron, configura el parámetro Configuraciones comunes en Una vez cada cinco minutos y añade el siguiente script en la línea de Comando :

    cd /home/username/root_folder && find ./ -type f -not -perm 644 -not -name ".ftpquota" -exec chmod 644 -c {} \;; find ./ -type d -not -perm 755 -not -group nobody -exec chmod 755 -c {} \;

    Nota 1: Asegúrate de reemplazar username por tu nombre de usuario real de cPanel y root_folder por el nombre de directorio correcto de tu dominio.

    Nota 2: El script no debe ejecutarse en el directorio principal home (por ejemplo, bajo /home/usuario). El directorio home contiene carpetas del sistema y específicas de la cuenta con configuraciones de permisos personalizadas necesarias para el correcto funcionamiento de cPanel. Cambiar esos permisos a los valores predeterminados (0755/0644) puede causar problemas de seguridad, conflictos de servicio o hacer que el panel de control deje de funcionar. Solo se puede solucionar restaurando una copia de seguridad completa de cPanel.


  3. Ejecuta la tarea cron y espera hasta 5 minutos para que el script realice los cambios correspondientes. Después de eso, es necesario eliminarla:


Si no estás seguro de la configuración correcta de permisos, es mejor hacer cambios mínimos o contactar con soporte para evitar posibles riesgos de seguridad o interrupciones del servicio.

Se requiere un correo electrónico válido