¿Quieres saber cuáles son los permisos adecuados de WordPress para los archivos y carpetas? ¿O estás confundido sobre la idea de los permisos de WordPress en primer lugar?

Los permisos de los archivos de WordPress son esenciales para la seguridad y el funcionamiento de tu sitio, por lo que debes entenderlos. Si utilizas un alojamiento de WordPress, es casi seguro que tu proveedor de alojamiento ya ha configurado las cosas por ti, pero sigue siendo útil entender estos conceptos si te encuentras con algún problema.

Así que, tanto si nunca has oído hablar de los permisos de archivo como si estás buscando los permisos de archivo correctos para WordPress, en esta entrada te lo explicamos todo. Si ya estás familiarizado con los permisos de archivo, puedes hacer clic en el segundo enlace para ir directamente a los permisos de archivo óptimos para WordPress.

¿Qué Son los Permisos de Archivo?

En pocas palabras, los permisos de archivo controlan cómo los diferentes usuarios pueden interactuar con los archivos en el servidor de tu sitio de WordPress. Más específicamente, los permisos de archivo controlan quién puede leer, escribir y ejecutar archivos:

  • Leer: La capacidad de leer el contenido de un archivo.
  • Escribir: La capacidad de alterar un archivo.
  • Ejecutar: La capacidad de «usar» un archivo (por ejemplo, ejecutar un script).

¿Qué son los usuarios?

Hay tres «tipos» diferentes de usuarios:

  • Propietario: El propietario asignado al archivo o directorio.
  • Grupo: Miembros del grupo propietario del fichero o directamente.
  • Público: Todos los usuarios que no sean el propietario del archivo o los miembros del grupo.

Cada archivo o carpeta es propiedad de un usuario específico o de un grupo particular. Cada usuario puede ser miembro de varios grupos, pero solo puede tener un grupo principal.

Por ejemplo, cuando te conectas a tu sitio a través de SFTP, estás utilizando una cuenta de usuario en tu servidor, y esa cuenta de usuario pertenece a uno o más grupos, dependiendo de cómo esté configurado tu servidor.

Nota: La mayoría de la gente no necesita entender el concepto de «usuarios» porque tu host configura todo esto por ti. Sin embargo, entenderlo es esencial para aprender el funcionamiento de los permisos de los archivos. Si te sientes un poco perdido en esta sección, debes saber que en la mayoría de los casos, tu host ha configurado adecuadamente los usuarios para tu entorno de servidor.

Con los permisos de archivo, puedes controlar lo que cada tipo de usuario (Propietario, Grupo, Público) puede hacer a los archivos y carpetas de su servidor (Leer, Escribir, Ejecutar).

En general, los propietarios del archivo deberían tener la mayor cantidad de permisos; los usuarios que pertenecen al mismo grupo tendrían los mismos o menos permisos; los usuarios públicos tendrían los mismos o menos permisos que el grupo:

Propietario > Grupo > Público

La idea de los permisos de archivo es muy similar al sistema de roles y capacidades de WordPress. Si eres el Administrador de tu sitio, tienes mayor control que un Editor. Los administradores pueden instalar nuevos plugins, por ejemplo, pero un editor no.

Del mismo modo, un editor tiene mucho más control que un visitante anónimo de tu sitio, aunque el editor no tiene tanto poder como un administrador completo. Por ejemplo, un editor puede editar las entradas de blog de otras personas y publicar nuevas entradas de blog, pero un editor no puede instalar nuevos plugins.

¿Qué Significan los Números de los Permisos de los Archivos?

Los permisos de los archivos están representados por un número de tres dígitos llamado modo de permiso (por ejemplo, 777, 440).

Cada dígito del número corresponde a lo que puede hacer un usuario concreto:

  • Primer dígito: Controla lo que puede hacer un Propietario.
  • Segundo dígito: Controla lo que pueden hacer las cuentas de usuario del Grupo del usuario.
  • Tercer dígito: Controla lo que pueden hacer los demás (Público).

Cada dígito del modo de permiso es la suma de los números asignados a cada acción:

  • Leer: 4
  • Escribe: 2
  • Ejecutar: 1

Si deseas no conceder ningún permiso, utiliza el número 0.

De nuevo, el número que ves en el modo de permisos es la suma de todos los permisos que tiene una entidad. Por ejemplo, si el Propietario puede Leer (4) y Escribir (2), el modo de permiso sería 6 (4+2).

O, si un propietario tiene los tres permisos, sería 7 (4+2+1).

Así, 777 es la configuración más permisiva. Esto significa que:

  • Primer dígito – 7 – El propietario puede leer (4), escribir (2) y ejecutar (1)
  • Segundo dígito – 7 – El grupo puede leer (4), escribir (2) y ejecutar (1)
  • Tercer dígito – 7 – El público puede leer (4), escribir (2) y ejecutar (1)

Por esta razón, nunca querrás establecer ningún permiso a 777 en tu sitio de WordPress. Hablaremos más sobre esto a continuación.

Si quieres jugar con esta idea, puedes utilizar la herramienta chmod calculator para ver cómo cambian los números a medida que asignas diferentes permisos a diferentes usuarios.

¿Qué significan las Letras de los Permisos de los Archivos?

Aunque probablemente te encuentres con el formato numérico con mayor frecuencia, a veces también verás permisos de archivo representados por letras y guiones.

Por ejemplo:

rwxr--r--

Así es como funciona este formato:

  • r = Permisos de lectura
  • w = Permisos de escritura
  • x = Permisos de ejecución
  • (guion) = Sin permisos

Hay nueve caracteres en total: los tres primeros corresponden al propietario, los tres siguientes al grupo y los tres últimos al público.

En este formato, el equivalente a 777 sería rwxrwxrwx.

¿Por Qué Son Importantes los Permisos de los Archivos de WordPress?

Dado que los permisos de los archivos controlan lo que los diferentes usuarios pueden hacer con los archivos de tu servidor, juegan un papel fundamental en la seguridad de WordPress.

Imagínate que configuras todos los archivos y carpetas de tu sitio como 777. Eso significaría que cualquiera puede crear nuevos archivos, modificar los existentes, borrar los existentes, ejecutar scripts, y mucho más. La gente podría añadir scripts maliciosos a tu sitio y ejecutarlos, lo que rápidamente llevaría a todo tipo de problemas. ¡Eso sería una pesadilla!

Sin embargo, los permisos de los archivos suponen un acto de equilibrio, y si eres demasiado restrictivo, tu sitio también dejará de funcionar.

Por ejemplo, si estableces tus permisos en 000, tu sitio de WordPress dejaría de funcionar por completo porque tu sitio no podría leer ninguno de los archivos de tu servidor.

Por esa razón, los permisos de archivo óptimos para WordPress siempre van a estar entre 000 (nadie tiene permisos) y 777 (todos tienen todos los permisos).

Sin embargo, los permisos de los archivos también pueden ser complicados, porque incluso dentro de los escenarios más realistas, todavía puede encontrar problemas. Por ejemplo, 444 es una configuración muy segura para el archivo .htaccess de tu sitio.

Sin embargo, si lo configuras así, probablemente tendrás problemas con algunos plugins que necesitan poder escribir en el archivo .htaccess de tu sitio (como los plugins de caché como WP Rocket y W3 Total Cache).

Así que si estás usando uno de esos plugins que necesitan acceso de escritura, puede que necesites cambiar a un 644 o incluso 666 ligeramente más permisivo, dependiendo de cómo esté configurado tu servidor web.

¿Por Qué Es Necesario Cambiar los Permisos de los Archivos de WordPress?

La respuesta corta es que la mayoría de la gente no necesita cambiar los permisos de los archivos manualmente.

Si has instalado WordPress utilizando el instalador automático de tu host, cualquier buen host debería configurar automáticamente los permisos de archivo óptimos para ti como parte de ese proceso de configuración. Si utilizas el instalador de WordPress aquí en Kinsta, por ejemplo, puedes estar seguro de que estamos configurando los permisos de archivo correctos – eso es parte de lo que hacemos como un host de WordPress administrado para hacer tu vida más fácil.

Por lo tanto, si utilizas el autoinstalador de tu proveedor de alojamiento y tu sitio de WordPress funciona bien, probablemente no necesites modificar los permisos de los archivos de tu sitio.

Sin embargo, pueden surgir problemas si tu mismo instalaste manualmente WordPress. También puedes tener problemas con los permisos de los archivos durante la instalación y el uso de los plugins, como el ejemplo de nuestro plugin de caché de la sección anterior.

Los Permisos de Archivo Correctos para WordPress

En esta sección, hablaremos de los permisos de archivo correctos para WordPress. Luego, si necesitas una ayuda, te mostraremos cómo cambiarlos en la siguiente sección.

En primer lugar, es importante tener en cuenta que los permisos de archivo óptimos dependen en parte de cómo esté configurado tu entorno de alojamiento. Lo que es óptimo y seguro para un entorno no necesariamente lo será para otros entornos; esto es especialmente cierto para el alojamiento compartido que utiliza suEXEC.

En general, una buena regla general para tener en cuenta esto es empezar con la configuración menos permisiva y solo añadir permisos según sea necesario para que las cosas funcionen. Por ejemplo, cuando se habla del archivo wp-config.php, verás valores en cualquier lugar de 400 a 644. Si no estás seguro de por dónde empezar, puedes comenzar con 400, siempre y cuando reconozcas que esta configuración podría causar problemas con la configuración de tu servidor, y podrías necesitar hacerla más permisiva si te encuentras con problemas.

Y pase lo que pase, nunca debes establecer los permisos de nada a 777 (a menos que seas un experto y tengas una excelente razón para hacerlo).

Permisos de Archivo por Defecto para la Mayoría de los Archivos/Carpetas de WordPress

En general, los permisos de archivo correctos para WordPress deberían ser los siguientes:

  • Archivos: 644
  • Carpetas: 755

Sin embargo, existen algunas exenciones específicas que hay que tener en cuenta:

  • Archivo wp-config.php
  • Archivo .htaccess
  • Archivo nginx.conf

Permisos wp-config.php

El archivo wp-config.php de tu sitio es un archivo súper sensible que contiene las credenciales de la base de datos de tu sitio y un montón de otra información importante.

Un buen punto de partida para el archivo wp-config.php es 644, que es lo que usamos en Kinsta. Sin embargo, encontrarás muchas otras recomendaciones aquí, incluyendo 640 y 600. Para cerrarlo más, algunas personas incluso utilizan 444.

Sin embargo, si utilizas 444, podría causar problemas, ya que muchos plugins de WordPress dependen del acceso de escritura para el archivo wp-config.php.

Permisos .htaccess

El archivo .htaccess de tu sitio es otro archivo de configuración vital que merece especial atención.

Un buen punto de partida para los permisos del .htaccess es 644, que es lo que recomienda el Codex de WordPress. Algunos desarrolladores también recomiendan 444. Sin embargo, si utilizas 444, podrías restringir los plugins que necesitan escribir en el archivo .htaccess (como la mayoría de los plugins de caché).

Nota: Si te alojas con Kinsta, no tendrás un archivo .htaccess, ya que utilizamos el servidor web Nginx para mejorar el rendimiento. Los archivos .htaccess solo son una característica de los servidores web Apache.

No tienes que preocuparte por los permisos de .htaccess si te alojas en Kinsta porque no hay ningún archivo .htaccess en primer lugar.

Permisos nginx.conf

Los mismos permisos del archivo .htaccess también se aplican a nginx.conf, que es el principal archivo de configuración si tu host utiliza un servidor web Nginx (como hace Kinsta).

Aquí en Kinsta, usamos 644 para este archivo nginx.conf. Algunos desarrolladores también recomiendan 444.

Cómo Comprobar Rápidamente los Permisos de los Archivos de WordPress

Si quieres una forma rápida y no técnica de comprobar los permisos de los archivos de tu sitio para ver si tienes algún problema, puedes utilizar el plugin gratuito iThemes Security en WordPress.org.

También puedes utilizar el FTP o el Administrador de Archivos de cPanel, que te mostraremos en la siguiente sección – primero estamos compartiendo este plugin como una forma rápida de detectar posibles problemas.

Una vez que hayas activado el plugin, ve a Seguridad → Ajustes y haz clic en el botón Mostrar detalles en Permisos de archivos:

Ubicación de la herramienta de permisos de archivos en WordPress
Ubicación de la herramienta de permisos de archivos en WordPress

Aquí encontrarás los permisos actuales de tus archivos de WordPress y cómo se comparan con los permisos de archivos recomendados por iThemes Security. Puedes ver que iThemes recomienda 444 para el archivo wp-config.php y el archivo nginx.conf o .htaccess (Kinsta usa Nginx, por eso ves nginx.conf, pero verías .htaccess si tu host usa Apache).

Recuerda, sin embargo, que 444 causará conflictos con algunos plugins, por lo que es posible que quieras evitar su uso.

Una función de seguridad de iThemes en WordPress que compara los permisos de archivos existentes con la configuración de permisos sugerida
Una característica de seguridad de iThemes en WordPress es que compara los permisos de archivos existentes con la configuración de permisos sugerida

Si no quieres seguir utilizando el plugin después de la configuración, te recomendamos que lo elimines.

Cómo Editar los Permisos de los Archivos de WordPress

Ahora, vamos a hablar de cómo puedes cambiar los permisos de los archivos de tu sitio de WordPress si es necesario. Hay varios métodos diferentes que puedes utilizar – te mostraremos tres maneras de hacerlo:

  • FTP
  • Administrador de archivos de cPanel
  • SSH/Terminal

FTP/SFTP

Si sabes cómo usar FTP/SFTP para conectarte a tu servidor, cualquier cliente FTP de calidad debería permitirte cambiar rápidamente los permisos de los archivos.

Te mostraremos cómo funciona utilizando FileZilla, un popular cliente gratuito y de código abierto.

Una vez que te hayas conectado a tu servidor mediante SFTP, haz clic con el botón derecho del ratón en el archivo/carpeta que quieras editar y selecciona Permisos de archivo:

Cómo cambiar los permisos de los archivos mediante FTP en FileZilla
Cómo cambiar los permisos de los archivos mediante FTP en FileZilla

A continuación, puedes utilizar las casillas de verificación o introducir el número directamente:

Cómo introducir nuevos permisos de archivos con FileZilla
Cómo introducir nuevos permisos de archivos con FileZilla

Administrador de Archivos de cPanel

Si tu proveedor de alojamiento proporciona cPanel, puedes utilizar la herramienta del Administrador de archivos de cPanel para editar los permisos de los archivos de WordPress.

En el Administrador de Archivos de cPanel, haz clic con el botón derecho del ratón en el archivo o carpeta que quieras editar y elige Cambiar Permisos:

Cómo cambiar los permisos de los archivos usando el Administrador de Archivos de cPanel
Cómo cambiar los permisos de los archivos usando el Administrador de Archivos de cPanel

A continuación, marca las casillas correspondientes para asignar los permisos. Al hacerlo, verás que los totales cambian en la parte inferior:

Cómo introducir nuevos permisos de archivos con cPanel
Cómo introducir nuevos permisos de archivos con cPanel

Establece los permisos correctos y ya está listo.

Línea de Comandos

Si te sientes cómodo trabajando desde la línea de comandos, también puedes cambiar los permisos de los archivos de tu sitio usando chmod. Nos gusta usar esta calculadora chmod para obtener los permisos adecuados rápidamente.

Resumen

Los permisos adecuados de los archivos de WordPress son una parte esencial para crear un sitio seguro y que funcione bien. Pero no necesitas preocuparte mucho por los permisos de los archivos porque la mayoría de los hosts configurarán todo correctamente si utilizas la herramienta de autoinstalación del host. Eso es cierto en Kinsta también.

Sin embargo, si instalas manualmente WordPress, o si algo se ha estropeado los permisos de los archivos originales de tu sitio, es posible que tengas que editar los permisos de los archivos de tu sitio.

En general, los permisos del directorio de WordPress deben ser 755, y los permisos de los archivos de WordPress deben ser 644. Algunas excepciones cruciales incluyen el archivo wp-config.php de tu sitio y el archivo .htaccess o nginx.conf de tu servidor, que puedes hacer ligeramente menos permisivo.

Y pase lo que pase, asegúrate de no establecer nunca los permisos de los archivos a 777 en un sitio en vivo (incluso si sabes lo que estás haciendo). Hacerlo abriría tu sitio y tu servidor a colosales vulnerabilidades de seguridad.

¿Todavía tienes alguna duda sobre los permisos de los archivos de WordPress? ¡Pregúntanos en los comentarios!

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.