Cómo verificar y reparar permisos de archivos en WordPress
¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a resolver uno de los problemas más comunes (y a veces frustrantes) al gestionar un sitio WordPress: los permisos de archivos. No te preocupes, aunque suene a algo muy técnico, te lo explicaré paso a paso, como si estuviéramos viendo la pantalla juntos.
Cuando tu web empieza a dar errores como "no se puede crear el archivo wp-config.php", "error al subir imágenes", o directamente ves una pantalla en blanco, es muy probable que los permisos de tus archivos y carpetas estén desajustados. Aquí aprenderás a diagnosticarlo y solucionarlo de forma segura.
¿Qué son los permisos de archivos en WordPress?
Imagina que tu servidor es un edificio con muchas puertas. Cada archivo y carpeta de tu WordPress tiene una cerradura con tres tipos de llaves:
- Lectura (r): Permite ver el contenido.
- Escritura (w): Permite modificar o borrar.
- Ejecución (x): Permite "ejecutar" el archivo (en el caso de scripts PHP).
Además, hay tres grupos de personas que pueden usar esas llaves:
- Propietario (user): El dueño del archivo (normalmente el usuario del sistema).
- Grupo (group): Un conjunto de usuarios (por ejemplo, el grupo de administradores).
- Otros (others): Cualquier persona que acceda al servidor.
En WordPress, los permisos incorrectos pueden impedir que el sistema escriba actualizaciones, suba medios o incluso que se muestre la web. Pero ojo, unos permisos demasiado abiertos son una puerta abierta a hackers.
¿Por qué se rompen los permisos?
Las causas más frecuentes son:
- Migraciones o copias de seguridad: Al restaurar archivos desde un backup, los permisos suelen heredar los del servidor original, que pueden ser diferentes.
- Actualizaciones fallidas: Si un plugin o el núcleo de WordPress no se actualiza correctamente, puede dejar archivos con permisos incorrectos.
- Cambios en el hosting: Al mover tu web a otro servidor o cambiar de plan, la configuración de permisos puede variar.
- Errores manuales: Al editar archivos vía FTP o terminal sin cuidado.
- Ataques de seguridad: Un atacante puede modificar permisos para colocar malware.
Herramientas que necesitas
Para verificar y reparar permisos, puedes usar:
- FTP/SFTP (FileZilla, Cyberduck): Visual y cómodo para cambios puntuales.
- cPanel / Syspanel (HestiaCP): La mayoría de paneles de control incluyen un gestor de archivos.
- Terminal (SSH): Lo más rápido y potente, pero requiere conocimientos básicos de comandos.
[INFO] Si tu hosting usa Syspanel (el panel basado en HestiaCP), accede por el puerto 2106 (ejemplo:
https://tudominio.com:2106). Allí encontrarás el gestor de archivos y acceso a terminal.
Paso 1: Identificar los permisos correctos en WordPress
Antes de reparar, necesitas saber cómo deberían verse los permisos. Aquí tienes la configuración estándar y segura:
Para archivos (por ejemplo, index.php, wp-config.php):
- Permisos: 644
- Significado: El propietario puede leer y escribir (6), el grupo y otros solo pueden leer (4 y 4).
Para carpetas (por ejemplo, wp-content, wp-admin):
- Permisos: 755
- Significado: El propietario puede leer, escribir y ejecutar (7), el grupo y otros solo leer y ejecutar (5 y 5).
Excepciones importantes:
wp-config.phpdebe tener permisos 600 o 640 (solo el propietario puede leer/escribir, nadie más). Esto protege tus credenciales de base de datos.wp-content/uploads/y subcarpetas: Deben ser 755 para las carpetas y 644 para los archivos dentro. Necesitan permisos de escritura para que puedas subir imágenes.wp-content/plugins/ywp-content/themes/: Carpetas en 755, archivos en 644.wp-content/cache/(si usas caché): Carpetas en 755, archivos en 644. Algunos plugins de caché necesitan permisos más abiertos temporalmente.
[WARNING] Nunca pongas permisos 777 (lectura, escritura y ejecución para todos) en ningún archivo o carpeta. Es un riesgo de seguridad enorme. Si un plugin te lo pide, busca una alternativa más segura.
Paso 2: Verificar permisos desde el panel de control (Syspanel)
Si usas Syspanel (HestiaCP), el proceso es muy visual:
- Accede a Syspanel usando tu navegador:
https://tudominio.com:2106(o la IP de tu servidor). - Inicia sesión con tus credenciales de administrador.
- Ve a "Archivos" o "Gestor de archivos" (suele estar en el menú lateral).
- Navega hasta la carpeta raíz de tu WordPress (normalmente
public_htmlodominio.com). - Haz clic derecho sobre un archivo o carpeta y selecciona "Permisos" o "Cambiar permisos".
- Verás una ventana con casillas para marcar (lectura, escritura, ejecución) para propietario, grupo y otros.
- Comprueba que coincidan con la tabla anterior. Por ejemplo:
- Archivos: Propietario (rw-), Grupo (r--), Otros (r--) → 644.
- Carpetas: Propietario (rwx), Grupo (r-x), Otros (r-x) → 755.
[TIP] Si tienes muchos archivos, puedes seleccionar varios a la vez y cambiar permisos en lote. En Syspanel, busca la opción "Cambiar permisos recursivamente" (aplica a todas las subcarpetas).
Paso 3: Reparar permisos desde la terminal (SSH)
Si te sientes cómodo con la línea de comandos, es la forma más rápida y eficaz. Conéctate a tu servidor vía SSH.
Comandos básicos:
# Ir a la raíz de tu WordPress
cd /ruta/a/tu/wordpress
# Establecer permisos estándar para carpetas (755)
find . -type d -exec chmod 755 {} \;
# Establecer permisos estándar para archivos (644)
find . -type f -exec chmod 644 {} \;
Excepciones:
# wp-config.php debe ser más restrictivo
chmod 600 wp-config.php
# La carpeta de uploads necesita permisos de escritura para el servidor
chmod -R 755 wp-content/uploads
[WARNING] Ten cuidado con el comando
chmod -R. Si lo ejecutas en toda la carpeta de WordPress, podrías cambiar permisos de archivos que no deberían ser modificados (como los de plugins que requieren permisos específicos). Siempre es mejor aplicar los cambios de forma selectiva.
Script automático para reparar permisos
Puedes crear un script que haga todo el trabajo:
#!/bin/bash
# Reparar permisos WordPress
WP_PATH="/ruta/a/tu/wordpress"
echo "Reparando permisos de carpetas..."
find $WP_PATH -type d -exec chmod 755 {} \;
echo "Reparando permisos de archivos..."
find $WP_PATH -type f -exec chmod 644 {} \;
echo "Asegurando wp-config.php..."
chmod 600 $WP_PATH/wp-config.php
echo "Asegurando carpeta de uploads..."
chmod -R 755 $WP_PATH/wp-content/uploads
echo "¡Permisos reparados!"
Guarda esto como reparar-permisos.sh, dale permisos de ejecución (chmod +x reparar-permisos.sh) y ejecútalo con bash reparar-permisos.sh.
Paso 4: Verificar la reparación
Después de aplicar los cambios, comprueba que todo funciona:
- Accede a tu web y navega por varias páginas.
- Prueba a subir una imagen desde el editor de entradas.
- Intenta actualizar un plugin o tema desde el panel de administración.
- Revisa los logs de errores (en Syspanel, suele estar en "Registros" o "Logs").
Si ves algún error, vuelve a revisar los permisos de las carpetas específicas. Por ejemplo, si no puedes subir imágenes, asegúrate de que wp-content/uploads tenga permisos 755 y que el propietario sea el usuario del servidor web (normalmente www-data o nobody).
Preguntas frecuentes (FAQ)
¿Qué permisos debe tener wp-config.php?
644 es aceptable, pero lo más seguro es 600 o 640. Así solo el propietario puede leerlo.
¿Por qué mi plugin me pide permisos 777?
Porque está mal diseñado o necesita escribir archivos temporales. Busca una alternativa o configura manualmente los permisos de la carpeta específica que necesita (por ejemplo, wp-content/cache).
¿Los permisos se cambian solos?
No, a menos que tengas un plugin de seguridad o un cron que los modifique. Si notas cambios, revisa si hay malware o un usuario no autorizado.
¿Puedo usar un plugin para reparar permisos?
Sí, existen plugins como "WP File Permissions" o "WordPress File Permissions", pero ten cuidado: algunos pueden ser inseguros o no funcionar en todos los servidores. Siempre es mejor hacerlo manualmente.
¿Qué hago si después de reparar permisos la web sigue rota?
Puede ser un problema de propietario del archivo (user/group). Consulta con tu hosting o usa el comando chown para asignar el usuario correcto. Por ejemplo:
chown -R www-data:www-data /ruta/a/tu/wordpress
(Reemplaza www-data por el usuario de tu servidor web).
Consejos finales de seguridad
- Mantén WordPress actualizado: Las versiones antiguas tienen vulnerabilidades que pueden explotar permisos incorrectos.
- Usa un plugin de seguridad: Wordfence, Sucuri o iThemes Security monitorizan cambios en archivos.
- Haz copias de seguridad periódicas: Así, si algo sale mal, puedes restaurar rápidamente.
- No compartas credenciales de FTP o SSH: Cada usuario debe tener su propio acceso.
- Revisa los permisos después de cada migración: Es un paso que muchos olvidan.
[INFO] Recuerda que en Syspanel (puerto 2106) puedes programar tareas cron para verificar permisos automáticamente. Por ejemplo, un script que ejecute
findcada noche y te envíe un correo si encuentra algo anómalo.
Resumen rápido
| Elemento | Permiso correcto |
|---|---|
| Archivos normales | 644 |
| Carpetas normales | 755 |
| wp-config.php | 600 o 640 |
| wp-content/uploads | 755 (carpetas) / 644 (archivos) |
| wp-content/plugins | 755 (carpetas) / 644 (archivos) |
| wp-content/themes | 755 (carpetas) / 644 (archivos) |
Comando mágico para terminal:
find . -type d -exec chmod 755 {} \; && find . -type f -exec chmod 644 {} \; && chmod 600 wp-config.php
Y si usas Syspanel, recuerda que el acceso es por el puerto 2106 y que el gestor de archivos te permite cambiar permisos de forma gráfica.
Espero que este artículo te haya sido de gran ayuda. Recuerda que los permisos archivos WordPress son la base de una instalación segura y funcional. Si tienes dudas, no dudes en contactar con tu equipo de soporte o dejar un comentario. ¡Buena suerte con tu web!
