ESEN
ESEN

Permisos de archivos y carpetas en tu hosting

· 8 min de lectura · por el equipo técnico de SISArgentina

En un hosting con DirectAdmin la regla práctica es 644 para los archivos y 755 para las carpetas. Esos números describen quién puede leer, escribir y ejecutar cada cosa, repartido entre el dueño, el grupo y el resto. El 777 que aparece en los foros le da permiso de escritura a cualquiera, no resuelve casi ningún problema real y en muchos servidores hace que el sitio deje de andar, porque PHP se niega a ejecutar archivos que puede modificar cualquiera. Cuando algo no anda, el problema casi nunca es que falten permisos: suele ser que el dueño no es tu usuario, que a una carpeta le falta el permiso de entrada, o que un cambio recursivo dejó archivos y carpetas con el mismo número.

Qué dicen los tres números

Cada archivo y cada carpeta tiene tres permisos posibles: leer, escribir y ejecutar. Se definen por separado para el dueño, el grupo y el resto de los usuarios, y de ahí salen los tres dígitos. Cada uno se arma sumando: 4 es leer, 2 es escribir, 1 es ejecutar. Un 6 es leer más escribir; un 7, los tres; un 5, leer más ejecutar.

En las carpetas, el permiso de ejecución no significa correr un programa: significa poder entrar y atravesarla. Una carpeta sin ese permiso no la abre nadie, aunque los archivos de adentro estén perfectos. Es la causa silenciosa de la mitad de los 403.

Los valores que se usan de verdad

ValorQué habilitaDónde va
644El dueño lee y escribe; el resto solo leeArchivos del sitio: php, html, css, imágenes
755El dueño escribe; el resto entra y leeCarpetas, y scripts que se ejecutan solos
600Solo el dueño, nadie másArchivos con credenciales de la base de datos
700Solo el dueño entraCarpetas privadas fuera de public_html
777Cualquiera escribe y ejecutaEn ningún lado de un sitio en producción

Con 644 y 755 funciona el 99 por ciento de los sitios. Si algo necesita más, casi siempre es un problema de dueño, no de permisos.

Por qué 777 casi nunca es la solución

El 777 aparece en cualquier foro como respuesta rápida a "no me deja subir archivos", y significa que cualquier usuario del servidor puede leer, modificar y ejecutar ese archivo. En un compartido eso no es teórico: si otra cuenta queda comprometida, tus carpetas en 777 son el primer lugar donde el atacante escribe, y un archivo malicioso en una carpeta de subidas con permiso de ejecución es lo que termina en un sitio con publicidad ajena o mandando spam.

Y encima suele no funcionar. Los servidores con PHP corriendo bajo tu propio usuario verifican, antes de ejecutar un archivo, que no pueda escribirlo cualquiera; si está en 777 se niegan y devuelven un 500. La secuencia habitual es: algo falla, alguien pone 777, ahora falla peor, y el diagnóstico se vuelve imposible.

Quién es el dueño de tus archivos

En un hosting compartido con DirectAdmin, los archivos de tu sitio pertenecen a tu usuario del panel: si tu cuenta es juan, el dueño de todo lo que hay en public_html tiene que ser juan. El servidor sirve las páginas actuando como ese usuario, y por eso no necesita permisos abiertos para el resto del mundo. Ahí está la razón de que el 777 sobre: el proceso que guarda una imagen o actualiza un plugin corre como tu usuario, y con 644 ya puede escribir.

Cuando la propiedad se rompe, todo falla sin patrón claro: un archivo que no se puede borrar, una carpeta donde no se puede subir nada, un actualizador que pide credenciales de FTP. Pasa cuando los archivos los creó otro usuario, típicamente al restaurar un respaldo por consola. Desde el panel no se puede cambiar el dueño: se corrige del lado del servidor y va por ticket.

Cambiarlos desde el administrador de archivos

  1. Entrá al panel y abrí el administrador de archivos, que en el panel en inglés figura como "File Manager".
  2. Navegá hasta la carpeta donde está lo que querés cambiar. Para el sitio, es public_html.
  3. Tildá la casilla de selección de cada archivo o carpeta. Podés marcar varios y se aplica el mismo valor a todos.
  4. Escribí el número de permisos en el campo correspondiente y confirmá con el botón que aplica el cambio, "Set permission" en inglés.
  5. Mirá la columna de permisos: tiene que mostrar el valor nuevo. Si sigue mostrando el anterior, el cambio no se aplicó y casi siempre es un problema de propiedad.

La opción recursiva y por qué conviene desconfiar

El panel ofrece aplicar el cambio a todo lo que haya adentro de la carpeta. Es cómodo y es la forma más rápida de romper un sitio entero, porque archivos y carpetas no llevan el mismo número. Con 644 recursivo las carpetas se quedan sin permiso de entrada y el sitio devuelve 403 en todas las secciones; con 755 recursivo los archivos quedan marcados como ejecutables, y en servidores estrictos PHP se niega a procesarlos.

Lo correcto son dos pasadas: una con 755 solo en carpetas y otra con 644 solo en archivos. Si el administrador de archivos no te deja filtrar por tipo, hacelo por FTP, donde los clientes permiten aplicar valores distintos a archivos y a directorios en la misma operación.

Cambiarlos por FTP

  1. Conectate con tu cliente de FTP usando la conexión cifrada.
  2. Ubicá el archivo o la carpeta en el panel del servidor. Los permisos actuales aparecen en una columna de la lista.
  3. Hacé clic derecho y elegí la opción de permisos, que según el programa aparece como "Permisos de archivo" o "File permissions".
  4. Escribí el valor numérico en el campo de abajo. Las casillas de arriba se tildan solas y confirman que pusiste lo que querías.
  5. Para una carpeta entera, activá la recursión y elegí aplicar solo a directorios o solo a archivos. Una pasada por cada uno.
  6. Aceptá y refrescá: la columna de permisos tiene que reflejar el cambio.

Los tres errores que terminan en 403 o en 500

Lo que vesCausa habitualQué revisar
403 en todo el sitio o en una secciónUna carpeta del camino sin permiso de entradapublic_html y las carpetas padre en 755
500 al abrir cualquier páginaArchivos o carpetas en 777Bajar a 644 los archivos y 755 las carpetas
500 o 403 tras restaurar un respaldoEl dueño no es tu usuarioVa por ticket: del panel no se corrige

El 500 no siempre es de permisos: también lo tira un .htaccess con una línea inválida. Si tocaste ese archivo, empezá por ahí.

Cómo verificar que quedó bien

  1. Abrí el sitio en una ventana privada y recorré la portada, una sección interna y una página que use la base de datos.
  2. Subí un archivo desde el CMS: confirma que la carpeta de subidas quedó escribible.
  3. Revisá el registro de errores desde el panel. Un 500 por permisos deja una línea explícita y suele nombrar el archivo exacto.
  4. Si pusiste 777 mientras probabas, sacalo antes de cerrar el tema. Los 777 temporales son los que quedan para siempre.

Preguntas frecuentes

¿Qué permisos necesita WordPress?

Los de siempre: 755 en las carpetas y 644 en los archivos, incluido wp-config.php, que también puede ir en 600. Si un plugin pide 777, el problema es el plugin o la propiedad, no el permiso.

¿Por qué el instalador me pide datos de FTP para actualizar?

Porque el CMS detecta que no puede escribir con su propio usuario y ofrece otra vía. Es el síntoma clásico de archivos cuyo dueño no es tu usuario, y se resuelve corrigiendo la propiedad, no abriendo permisos.

¿Puedo cambiar el dueño de un archivo desde el panel?

No. El administrador de archivos cambia permisos, no propiedad. Corregir el dueño es una operación del lado del servidor. Si preferís, lo coordinamos por ticket.

¿Aplicar permisos recursivos es seguro?

Solo si separás archivos de carpetas. Una pasada única con el mismo número para todo deja el sitio con 403 o con 500.

Seguí leyendo

Guías del panel

Subir tu sitio por FTP o SFTP

Crear la cuenta de FTP, los datos de conexión, en qué se diferencian FTP, FTPS y SFTP, dónde va el sitio y por qué la conexión falla.

· 8 min de lectura