🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Errores comunes de permisos en archivos y carpetas de PrestaShop

Actualizado el 13 de septiembre de 2025

¿Qué son los permisos de archivos y por qué importan en PrestaShop?

Cuando hablamos de permisos PrestaShop, nos referimos a un sistema de seguridad que controla quién puede leer, escribir o ejecutar cada archivo y carpeta de tu tienda. Piensa en ello como las cerraduras de tu casa: cada puerta tiene una llave específica. En el mundo Linux (donde se alojan la mayoría de servidores), estos permisos se representan con números como 644, 755 o 777.

El problema surge cuando esos números no son los correctos. Un error de permisos puede hacer que tu tienda muestre pantallas en blanco, que no puedas subir productos, que fallen las copias de seguridad o, peor aún, que un atacante aproveche una brecha para inyectar código malicioso. Por eso, entender los errores archivos más comunes es el primer paso para mantener una tienda estable y segura.


Los 5 errores más frecuentes con permisos en PrestaShop

1. Todo en 777 (permisos demasiado abiertos)

Este es, con diferencia, el error más peligroso y común. El permiso 777 significa que cualquier usuario del sistema (o de internet) puede leer, escribir y ejecutar. Es como dejar la puerta de tu tienda abierta de par en par con un cartel de "pase usted".

¿Cómo se ve en la práctica? Un archivo con permisos 777 en tu carpeta de configuración (/config/settings.inc.php en versiones antiguas) permite que cualquiera modifique tus credenciales de base de datos.

Solución: Cambia todos los archivos a 644 y las carpetas a 755. Solo excepciones puntuales (como la carpeta /cache o /log) pueden necesitar permisos más flexibles temporalmente.

[WARNING] Si ves muchos archivos en 777, actúa de inmediato. Es la puerta de entrada favorita para malware y scripts de minería de criptomonedas.


2. Permisos 644 en carpetas (demasiado restrictivos)

El error inverso también es común. Si una carpeta tiene permisos 644, el servidor web no puede escribir dentro de ella. Esto provoca errores como:

  • No poder subir imágenes de productos.
  • Fallos al generar miniaturas.
  • Imposibilidad de instalar módulos o temas.
  • Error "No se puede escribir en el archivo de caché".

Solución: Las carpetas deben tener 755 como mínimo. Si necesitas que el servidor escriba en ellas (como /img, /var/cache o /var/logs), a veces necesitarás 775 dependiendo del usuario del servidor.


3. Confundir los permisos de archivos y carpetas

Muchos usuarios aplican el mismo permiso a todo. Recuerda la regla de oro:

  • Archivos: 644 (lectura y escritura para el dueño, solo lectura para el resto).
  • Carpetas: 755 (lectura, escritura y ejecución para el dueño; lectura y ejecución para el resto).

[TIP] Un truco sencillo: los archivos nunca necesitan permiso de ejecución (el "1" en el último dígito). Si ves un archivo .php o .jpg con 755, es sospechoso.


4. Ignorar los permisos del archivo .htaccess

El .htaccess es un archivo de configuración crítico en Apache. Si tiene permisos incorrectos, podrías sufrir redirecciones extrañas, errores 500 o incluso bloquearte el acceso al panel de administración.

Solución: Este archivo debe tener permisos 644 o 444 (solo lectura). Si lo pones en 777, un atacante podría modificar tus reglas de redirección para enviar a tus clientes a sitios maliciosos.


5. Olvidar los permisos después de una actualización o migración

Cuando actualizas PrestaShop o mueves tu tienda a otro servidor, es muy fácil que los permisos se rompan. El proceso de copiado (especialmente con FTP o comprimiendo/descomprimiendo archivos) no siempre conserva los permisos originales.

Solución: Después de cualquier migración o actualización, verifica siempre los permisos de las carpetas /var, /img, /config y /app. Un checklist rápido te ahorrará dolores de cabeza.


Cómo corregir los permisos paso a paso (sin ser un experto)

Opción A: Desde el panel de control de tu hosting (cPanel, Syspanel, etc.)

La mayoría de paneles incluyen un administrador de archivos con opción de cambiar permisos:

  1. Entra en tu panel de control (por ejemplo, Syspanel en el puerto 2106).
  2. Abre el "Administrador de archivos".
  3. Selecciona la carpeta raíz de tu tienda (normalmente public_html o www).
  4. Marca todos los archivos y carpetas (Ctrl+A).
  5. Busca la opción "Permisos" o "Chmod".
  6. Introduce 644 para archivos y 755 para carpetas. Algunos paneles permiten aplicar según el tipo de elemento.

[TIP] En Syspanel (accesible en el puerto 2106), esta opción suele estar en el menú derecho al seleccionar un archivo: "Cambiar permisos".


Opción B: Con un cliente FTP (FileZilla, Cyberduck)

Si tu hosting no tiene panel o prefieres el control manual:

  1. Conecta a tu servidor con FileZilla.
  2. Selecciona todos los archivos y carpetas de tu tienda.
  3. Haz clic derecho y elige "Permisos de archivos...".
  4. Marca las casillas correspondientes: para archivos, marca lectura y escritura del dueño, y solo lectura para grupo y públicos (644). Para carpetas, añade ejecución (755).
  5. Activa la casilla "Aplicar a todos los archivos y carpetas seleccionados" y "Recursivamente".

Opción C: Comandos SSH (para usuarios avanzados)

Si tienes acceso SSH, el comando más útil es:

find /ruta/a/tu/tienda -type f -exec chmod 644 {} \;
find /ruta/a/tu/tienda -type d -exec chmod 755 {} \;

[WARNING] Ten mucho cuidado con estos comandos. Si los ejecutas en la ruta equivocada, podrías dejar tu servidor entero inservible. Siempre verifica la ruta antes de pulsar Enter.


¿Qué permisos necesita cada carpeta de PrestaShop?

Aquí tienes una guía rápida de referencia:

CarpetaPermiso recomendadoNotas
/ (raíz)755
/app755
/bin755
/cache755 (o 775)El servidor escribe archivos de caché aquí
/config755
/controllers755
/download755
/img755 (o 775)Necesita escritura para subir imágenes
/install755Elimina esta carpeta tras instalar
/log755 (o 775)
/mails755
/modules755
/override755
/pdf755
/src755
/tools755
/translations755
/upload755 (o 775)
/var755 (o 775)Crítico para caché y logs
/var/cache755 (o 775)
/var/logs755 (o 775)
/var/sessions755 (o 775)
Todos los archivos .php644
.htaccess644
settings.inc.php (solo PS 1.6)444 o 644Si está en 777, ¡alarma!

La relación entre permisos y seguridad de tu tienda

La seguridad tienda no depende solo de tener un buen antivirus o un módulo de pagos seguro. Los permisos son tu primera línea de defensa. Un archivo con permisos excesivos permite que cualquier script en el servidor (incluso uno inofensivo en otro dominio compartido) pueda leer tu configuración.

El ataque típico con permisos mal configurados

  1. Un atacante encuentra una carpeta /img con permisos 777.
  2. Sube un archivo PHP disfrazado de imagen (por ejemplo, foto.php.jpg).
  3. Ejecuta ese archivo desde el navegador.
  4. El archivo malicioso le da acceso total a tu base de datos.

Todo esto se evita simplemente teniendo permisos correctos. Es la diferencia entre una tienda vulnerable y una fortaleza.


Errores comunes que verás en pantalla (y cómo interpretarlos)

"Error 500 Internal Server Error"

Este es el síntoma más genérico. Puede ser por permisos en .htaccess o en archivos de configuración. Revisa primero los permisos de .htaccess (debe ser 644) y de la carpeta /var/cache (debe ser 755 o 775).

"No se puede escribir en el archivo" o "Permission denied"

Directo al grano: el servidor no tiene permiso de escritura. Busca la carpeta mencionada en el error y cámbiala a 755 (o 775 si sigue fallando).

"Error al subir la imagen"

Suele ser la carpeta /img o /upload. Verifica que tenga permisos 755 como mínimo. Si tu hosting usa un usuario diferente al de los archivos, prueba con 775.

"No se puede conectar a la base de datos"

Aunque no lo parezca, también puede ser por permisos. Si settings.inc.php (en PS 1.6) o /app/config/parameters.php (en PS 1.7+) está en 777, alguien pudo haberlo modificado. Restaura los permisos y cambia las contraseñas de tu base de datos.


Cómo prevenir futuros errores de permisos

La mejor cura es la prevención. Sigue estas buenas prácticas:

  1. Establece una rutina mensual: Revisa los permisos una vez al mes. Puedes hacerlo manualmente o con un script.
  2. Evita usar FTP para subir archivos: Si usas FTP, los permisos suelen romperse. Mejor usa el administrador de archivos de tu panel o un desplegador como Git.
  3. Configura el usuario correcto: Asegúrate de que los archivos pertenezcan al usuario de tu hosting. Si los subes como "root" y el servidor corre como "www-data", tendrás problemas aunque los permisos sean correctos.
  4. Documenta los cambios: Si alguien más trabaja en tu tienda, establece una política de permisos por escrito.
  5. Usa módulos de seguridad: Algunos módulos de PrestaShop ofrecen escaneo de permisos y te avisan si detectan algo raro.

[INFO] Si tu tienda es muy grande o la gestionas para terceros, considera contratar un mantenimiento especializado. Los errores de permisos son la causa número uno de "mi tienda se cayó sin motivo".


Preguntas frecuentes (FAQ)

¿Qué es chmod y por qué se llama así?

chmod es el comando de Linux que cambia los permisos. Viene de "change mode" (cambiar modo). Cuando hablamos de chmod PrestaShop, nos referimos a usar este comando (o su equivalente gráfico) para ajustar los permisos de los archivos de tu tienda.

¿Por qué mi hosting me da errores de permisos si nunca los he tocado?

Puede ser por varias razones: una actualización de PHP, un cambio en la configuración del servidor, un backup restaurado incorrectamente o un intento de ataque. Lo importante es que sepas cómo diagnosticarlo.

¿Debo usar permisos 777 en alguna carpeta?

En general, no. Si alguna carpeta necesita escritura (como /cache o /img), 755 debería ser suficiente en la mayoría de configuraciones. Si tu hosting usa un usuario diferente para PHP, puede que necesites 775. Pero 777 es siempre una mala idea.

¿Cómo sé qué usuario ejecuta PHP en mi servidor?

Puedes crear un archivo temporal llamado info.php con el contenido <?php echo exec('whoami'); ?> y abrirlo en el navegador. Te mostrará el usuario. Luego bórralo inmediatamente.

[WARNING] No dejes nunca archivos de prueba como info.php en tu servidor. Revelan información sensible.

¿Los permisos afectan al rendimiento de mi tienda?

Sí, indirectamente. Si los permisos son demasiado restrictivos, el servidor no puede escribir caché y PrestaShop se vuelve lento. Si son demasiado abiertos, la seguridad se compromete y podrías tener malware que ralentiza todo.

¿Puedo automatizar la corrección de permisos?

Sí. Puedes crear un script que se ejecute diariamente con cron. Por ejemplo:

#!/bin/bash
find /home/usuario/public_html -type f -exec chmod 644 {} \;
find /home/usuario/public_html -type d -exec chmod 755 {} \;
chmod 775 /home/usuario/public_html/var/cache /home/usuario/public_html/var/logs

[TIP] Si usas Syspanel (puerto 2106), puedes programar este script desde la sección "Cron Jobs" del panel.


Conclusión: los permisos son tu mejor amigo o tu peor enemigo

Dominar los permisos PrestaShop no es complicado, pero requiere atención al detalle. La buena noticia es que una vez que los configuras correctamente, rara vez vuelven a dar problemas si no haces cambios bruscos en tu tienda.

Recuerda la regla de oro: archivos en 644, carpetas en 755. Solo cambia esto cuando sepas exactamente qué estás haciendo y por qué. Y ante la duda, siempre puedes consultar la documentación oficial de PrestaShop o pedir ayuda a tu proveedor de hosting.

Una tienda con permisos correctos es una tienda más rápida, más segura y con menos sustos. Dedica 15 minutos al mes a revisarlos y te ahorrarás horas de frustración (y posibles ataques) en el futuro.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel