WordPress Hosting

Cambiar los permisos de escritura a archivos y carpetas a lo bestia

Una de las medidas de seguridad básica en un servidor, y por supuesto en WordPress, es establecer adecuadamente los permisos de los archivos y carpetas. La instalación estándar de WordPress normalmente asigna los permisos adecuados a archivos y carpetas, pero a veces nos encontramos con sorpresas.

Ya sea por modificaciones manuales que no recordamos, o por accesos no controlados, o debido a modificaciones realizadas por plugins y scripts, a veces no todos los archivos y carpetas de WordPress tienen los permisos adecuados para garantizar al mismo tiempo usabilidad y seguridad.

No suele pasar mucho, pero puede que en alguna ocasión te encuentres en la situación de que, por la configuración del hosting, se fuercen unos permisos de archivos y carpetas que no sean adecuados para el funcionamiento correcto de WordPress.

A mi me ha pasado solo un par de veces, en hostings de clientes a los que hacemos mantenimiento de su web WordPress, en los que se restringían los permisos de archivo de usuario, algo que a veces hacen los hosting baratos.

Afortunadamente hay constantes de WordPress que podemos añadir a nuestro archivo de configuración (wp-config.php) para cambiar de golpe todos los permisos a los archivos y carpetas de la instalación.

Para solucionarlo, si no tienes acceso por SSH, lo que suele ser habitual en estos hosting, hay un par de funciones para el archivo wp-config.php que nos pueden ayudar a que los archivos y carpetas de WordPress tengan los permisos de archivo correctos: FS_CHMOD_DIR y FS_CHMOD_FILE.

Solo tenemos que añadir un par de constantes al archivo wp-config.php y guardar los cambios para que se cambien los permisos de archivos y carpetas a los especificados, así:

/** Cambiar permisos de archivos y carpetas automáticamente */
define('FS_CHMOD_FILE', 0644);
define('FS_CHMOD_DIR', 0755);

O, también:

/* Establecer permisos correctos de directorios y archivos */
define( 'FS_CHMOD_DIR', ( 0755 & ~ umask() ) );
define( 'FS_CHMOD_FILE', ( 0644 & ~ umask() ) );

Con esas dos líneas definimos que los permisos para directorios sean de 755 y para los archivos de 644, los recomendados para WordPress, y el cambio se aplica a toda la instalación.

En el código anterior cambiamos los permisos a los que deben tener por defecto pero si eres especialito con temas de seguridad o lo que quieras simplemente pon a tu gusto los permisos que quieres aplicar.

Ahora bien, se precavido, porque esta es una modificación bastante radical, y puede que algunos plugins o incluso funcionalidades del tema activo no funcionen bien o dejen de funcionar del todo una vez hechos los cambios, pues a veces requieren que algunas carpetas o archivos tengan permisos especiales, así que sé cuidadoso antes de hacer cambios en masa como el que te permite este código.

Compártelo en tus redes
Resúmelo con tu IA

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en las estrellas para valorarlo!

Promedio de puntuación 4.6 / 5. Total de votos: 8

¡Todavía no hay votos! Sé el primero en valorar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en las redes sociales!

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!



Sobre el autor

5 comentarios en “Cambiar los permisos de escritura a archivos y carpetas a lo bestia”

  1. Julio César

    Hola Fernando.
    Estoy intentando crearme un wordpress de pruebas y para ello he descargado XAMPP + el ultimo wordpress y trabajo en localhost.
    Esto6 en un worrpesss nuevo y que añadir el fragmento que comentas en wp-config.php el estado de salud del sitio me indica:

    El directorio principal de wordpress NO editable
    El directorio “wp-content” NO editable
    El directorio de subidas NO editable
    El directorio de plugins NO editable
    El directorio de temas NO editable
    (Además en XAMPP tengo un proFTPd y no sé ni servidor/usuario/contraseña para poder usar filezilla si fuese el caso ….)

    Qué debería hacer a partir de aquí para poder tener un wordpress que funcione bien?
    Gracias. Un saludo.

    1. Las instalaciones locales tienen esas cosas, depende de que las carpetas se hayan creado con un usuario que tenga permisos en tu ordenador, sino tienes que revisar los permisos de las carpetas, pero desde las propiedades de las carpetas en el sistema operativo

  2. Julio César

    Ya tengo los directorios editables, pero sigo teniendo errores:
    La salud del sitio me dice:
    1-
    el módulo imagick, no está instalado o ha sido desactivado
    El módulo intl, no está instalado o ha sido desactivado.
    2- la API REST ha encontrado un resultado inesperado.
    Pueden ser estos dos puntos los que hagan que no funcione correctamente?
    Qué debería hacer?
    Saludos

    1. imagick y intl son módulos PHP activables desde tu hosting. Tienes que buscar donde defines la versión PHP y sus módulos.

Los comentarios están cerrados.

Scroll al inicio