UA-51298262-10 Skip to main content
WordPress

Permisos WordPress chmod y chown

By agosto 6, 2026No Comments
Permisos WordPress chmod y chown

La importancia de los permisos WordPress chmod

Sabemos lo frustrante que es. Quieres instalar una simple actualización o subir una imagen y, de repente, el sitio se bloquea o te pide credenciales FTP que ni recuerdas tener. Ahí es donde muchos comienzan a sudar frío. Lo raro es que casi siempre el culpable es el mismo: una mala configuración en los permisos WordPress chmod. No es magia negra, es solo cómo el servidor decide quién puede leer, escribir o ejecutar tus archivos. Si esto falla, tu web se tambalea entre el error crítico y la vulnerabilidad abierta.

Un servidor mal configurado es una puerta abierta. O una pared cerrada de golpe. Gestionar esto bien es lo que separa un sitio que respira de uno que está asfixiado. Vamos a ver cómo usar comandos como chmod y chown para poner orden en el caos.

Entendiendo la estructura: Usuarios y Grupos

Antes de tocar nada, hay que entender una cosa básica de Linux: la propiedad. Cada archivo tiene un dueño (un usuario) y un grupo. Para que WordPress funcione, el servidor web —ya sea Apache, Nginx o el usuario que use cPanel— necesita entrar y moverse con libertad. Si le cierras la puerta, no podrá hacer nada.

Aquí entra en juego chown (change owner). Si tus archivos le pertenecen a «root» y el servidor intenta leerlos siendo «www-data», el sistema le dirá que no pase. Es una cuestión de etiqueta y seguridad.

Verificar la propiedad actual

Para ver quién es el dueño real de tus archivos, abre la terminal y escribe ls -l. Verás algo como esto:

  • -rw-r--r-- 1 usuario usuario 4096 Oct 10 10:00 wp-config.php

Fíjate en donde dice «usuario». Ahí tienes al propietario y al grupo. Si tu servidor corre con un nombre distinto (digamos, nginx o apache), tienes un conflicto de intereses que habrá que resolver.

El comando chown: Asignando la propiedad correcta

A veces chmod no es suficiente porque el problema no es qué se puede hacer con el archivo, sino quién es el dueño. Si el servidor web no es el propietario, se quedará fuera mirando por la ventana. La sintaxis básica es:

  • chown usuario:grupo archivo

Pero no quieres hacerlo uno por uno. Para aplicar esto a toda tu instalación de WordPress (seguramente en /var/www/html o /public_html), usa el flag -R para hacerlo recursivo:

  • sudo chown -R www-data:www-data /var/www/html

Al ejecutar esto, le estás entregando las llaves de la casa a www-data (el usuario estándar en Debian/Ubuntu). A partir de ahí, el servidor puede actualizar plugins o subir imágenes sin pedirte permiso a cada paso.

Nota técnica: Ojo con esto en hosting compartido (tipo cPanel). Allí el usuario del servidor suele ser tu propio nombre de usuario de la cuenta. No fuerces la propiedad a www-data si tu proveedor usa suPHP o CloudLinux, porque podrías romper el aislamiento de seguridad y dejar tu cuenta al descubierto.

El comando chmod: Configurando lecturas y escrituras

Con el dueño definido, toca decidir qué se puede hacer. Aquí usamos chmod (change mode). Los números —755, 644— no son aleatorios. Son la suma de tres permisos: lectura (4), escritura (2) y ejecución (1). Juegas con estas cifras para dar o quitar acceso al propietario, al grupo y al resto del mundo.

Permisos recomendados para carpetas

Los directorios necesitan permiso de ejecución para que el servidor pueda «entrar» en ellos y ver qué hay dentro. Sin eso, se queda en la puerta. El estándar de oro y seguro suele ser el 755.

  • 7 (Propietario): 4+2+1 (Lectura, Escritura, Ejecución)
  • 5 (Grupo): 4+1 (Lectura, Ejecución)
  • 5 (Otros): 4+1 (Lectura, Ejecución)

Para aplicarlo solo a las carpetas de tu instalación, combina find con chmod:

  • sudo find /var/www/html -type d -exec chmod 755 {} \;

Este comando busca solo directorios (-type d) y fija el 755 en cada uno. Es limpieza quirúrgica.

Permisos recomendados para archivos

Los archivos PHP, CSS o las imágenes no deberían ejecutarse como programas. Darles permiso de ejecución es un riesgo innecesario. Aquí el valor seguro es 644.

  • 6 (Propietario): 4+2 (Lectura, Escritura)
  • 4 (Grupo): 4 (Lectura)
  • 4 (Otros): 4 (Lectura)

Para ajustar solo los archivos, usa este otro comando:

  • sudo find /var/www/html -type f -exec chmod 644 {} \;

De esta forma, si un atacante logra colar algo en tu carpeta de subidas, le será mucho más difícil ejecutar código malicioso porque el servidor no le dará permiso para «correr» ese archivo.

Casos especiales: wp-config.php y el directorio de uploads

No todo es blanco o negro. Hay dos puntos en la estructura de permisos WordPress que requieren un trato especial si quieres blindar la seguridad sin romper nada.

Protegiendo wp-config.php

El archivo wp-config.php es el corazón de tu sitio. Tiene las contraseñas de la base de datos y las claves de seguridad. Nadie que no sea estrictamente necesario debería tocarlo. Lo ideal es ponerle un candado extra, como 600 o 440, aunque 640 suele ser un buen término medio si el servidor necesita leerlo:

  • sudo chmod 640 /var/www/html/wp-config.php

Así, aunque haya una brecha en otro lado, tu configuración principal permanece oculta e inmutable para procesos no autorizados.

El directorio /wp-content/uploads

Aquí WordPress necesita escribir. Es donde se guardan tus imágenes y medios. Si al subir algo ves errores, revisa que este directorio (y todo lo de dentro) pertenezca al usuario del servidor web y tenga los permisos estándar: 755 en carpetas y 644 en archivos.

Solución de problemas comunes

A veces haces todo bien y sigues having problemas. Si ya revisaste los permisos WordPress chmod y el chown, quizá el problema venga de otro lado:

  • Contexto de Seguridad (SELinux): Si usas CentOS, RHEL o Fedora, SELinux puede estar bloqueando el acceso sin importar lo que digan los permisos Unix. Revisa el contexto con ls -Z y ajústalo con chcon o restorecon.
  • Caché de opcache: PHP a veces no se entera de que cambiaste los permisos de inmediato porque guarda una caché de bytecode. Reiniciar PHP-FPM o Apache suele limpiar el atasco.
  • Plugins de seguridad: Algunos plugins son muy celosos y bloquean wp-config.php o .htaccess para que sean de solo lectura. Si no puedes editarlos, mira la configuración del plugin antes de culpar al servidor.

Preguntas Frecuentes

¿Por qué me pide FTP para instalar plugins?
Porque el usuario del servidor web no puede escribir en los archivos de WordPress. Es un problema de identidad. Ejecutar el comando chown -R para darle la propiedad al usuario correcto del servidor suele arreglarlo de raíz.

¿Es seguro poner 777 a mis archivos?
Para nada. Poner 777 (lectura, escritura y ejecución para todo el mundo) es como dejar la puerta de tu casa abierta con un cartel que dice «pase lo que quiera». Cualquier usuario o script malicioso podría tomar el control. Usa 777 solo si estás depurando algo muy específico y por un tiempo brevísimo, luego vuelve a valores seguros.

Conclusión

Gestionar permisos no es algo opcional ni solo para expertos. Es el pan de cada día de cualquier administrador que se respete. Entender la diferencia entre chmod y chown te saca de más de un apuro, desde una actualización fallida hasta un cierre por seguridad. Mantener las carpetas en 755 y los archivos en 644, asegurando que el dueño sea el servidor web, es ese equilibrio necesario entre que tu web funcione fluida y que nadie externo pueda colarse. Si tras esto todavía no te sientes seguro o prefieres no tocar la terminal, en RedServicio (redservicio.net) podemos encargarnos de esa infraestructura técnica por ti.