Gratis Te mudamos el sitio y los correos sin cortes ni costo

0810 345 6377 ESEN, cambiar a inglés
InHosting
ESEN, cambiar a inglés

Guías de DirectAdmin

Permisos de archivos en tu hosting: 644, 755 y por qué nunca 777

Por el equipo técnico de InHosting6 min de lectura

En pocas palabras

Casi cualquier sitio funciona con 755 en las carpetas y 644 en los archivos. Los que guardan claves, como el wp-config.php de WordPress, pueden bajar a 600 o 640, porque solo los lee PHP, que corre como tu usuario. El 777 que recomiendan tantos foros habilita a cualquier usuario del servidor a escribir ahí: no resuelve nada que 755 no resuelva y, en servidores con suPHP, hace que la página devuelva un error 500. Cuando algo no se deja modificar aunque los números estén bien, el problema es el dueño del archivo, y eso no se arregla desde el panel.

Cómo leer rwxr-xr-x sin memorizar nada

El administrador de archivos y los clientes de FTP muestran los permisos de dos maneras: con letras, como rwxr-xr-x, o con tres números, como 755. Dicen lo mismo. Las letras vienen en tres grupos de tres: el primero es para el dueño del archivo, el segundo para su grupo y el tercero para todos los demás. En cada grupo, r es leer, w es escribir y x es ejecutar; un guion es un permiso que falta.

Para pasar de letras a números, cada permiso tiene un valor y se suman: r vale 4, w vale 2 y x vale 1.

LetrasNúmeroQué permite
rwx7Leer, escribir y ejecutar
rw-6Leer y escribir
r-x5Leer y ejecutar
r--4Solo leer
---0Nada

rwxr-xr-x es 7, 5 y 5: el dueño hace todo y el resto lee y entra. rw-r--r-- es 644.

En una carpeta, las letras significan otra cosa

En un archivo, x quiere decir que se puede ejecutar como programa. En una carpeta quiere decir que se puede atravesar: entrar y llegar a lo que hay adentro. Una carpeta sin x deja inaccesible todo su contenido, aunque cada archivo tenga los permisos perfectos, y el servidor web responde con un 403.

La r de una carpeta permite listar lo que contiene, y la w, crear, renombrar y borrar cosas adentro. De ahí sale una sorpresa frecuente: poder borrar un archivo no depende de los permisos del archivo, sino de los de la carpeta que lo contiene.

Qué valor lleva cada cosa

QuéPermisoPor qué
Carpetas del sitio755Tu usuario escribe; el servidor web entra y lee
Archivos PHP, HTML, CSS, JS e imágenes644Tu usuario los modifica; el servidor web los lee
wp-config.php, configuration.php de Joomla, .env600 o 640Tienen claves y solo los lee PHP, que corre como tu usuario
.htaccess644Lo lee el servidor web, no PHP
Carpeta de subidas del CMS755El CMS escribe como tu usuario: no necesita más
Script de una tarea programada644Alcanza si el cron lo llama con php delante; 755 solo si se ejecuta directo

Cuidado con aplicar 600 a imágenes, hojas de estilo o scripts del navegador. Esos archivos los entrega directamente el servidor web, que no corre como tu usuario: si no los puede leer, responde 403 y la página se ve rota.

Por qué 777 no arregla lo que parece arreglar

El 777 le da a cualquier usuario del servidor permiso para leer, modificar y ejecutar. Los foros lo recomiendan porque "destraba" subidas que fallaban, pero en un hosting con PHP corriendo como tu usuario esa subida ya funcionaba con 755: si fallaba, el motivo era otro, casi siempre el dueño.

Además de no hacer falta, tiene dos costos. En servidores con suPHP o suEXEC, PHP se niega a ejecutar lo que está en carpetas o archivos que cualquiera puede modificar, y devuelve un error 500. Y donde sí funciona, dejaste la puerta abierta: un archivo malicioso que llega a una carpeta en 777 puede quedarse ahí y ejecutarse. El aislamiento entre sitios del hosting reduce ese riesgo, pero los permisos son la primera capa y no conviene saltearla.

Cambiarlos desde el administrador de archivos de DirectAdmin

  1. En el panel, abrí el administrador de archivos (File Manager, dentro de System Info & Files).
  2. Entrá a la carpeta del sitio: domains, el nombre de tu dominio y public_html.
  3. Marcá los archivos o carpetas que querés cambiar. Podés elegir varios a la vez y reciben el mismo valor.
  4. Usá la opción de permisos, escribí el número de tres dígitos y aplicá.
  5. Mirá la columna de permisos: si no cambió, no es un problema de números sino de dueño, y conviene escribirnos.

Con FileZilla, carpetas y archivos por separado

Un cliente de FTP resuelve lo que en el administrador de archivos es incómodo: aplicar un valor a las carpetas y otro a los archivos de todo un árbol. Conectate con el acceso cifrado, como se explica en subir tu sitio por FTP o SFTP, y después:

  1. Clic derecho sobre public_html y elegí la opción de permisos de archivo (File permissions).
  2. Escribí 755 en el valor numérico, activá la opción recursiva (Recurse into subdirectories) y elegí aplicarlo solo a directorios. Aceptá.
  3. Repetí sobre la misma carpeta con 644, recursivo, aplicado solo a archivos.
  4. Refrescá la vista y revisá un par de carpetas y archivos al azar.

Con acceso a la consola, cuatro líneas

El hosting no tiene SSH: ahí los permisos se cambian desde el administrador de archivos o el cliente FTP. En un VPS con DirectAdmin, o en cualquier servidor donde tengas consola, find hace las dos pasadas sin errores de tipeo. Primero las carpetas, después los archivos y, al final, la excepción del archivo de configuración:

cd ~/domains/tudominio.com.ar/public_html
find . -type d -exec chmod 755 {} +
find . -type f -exec chmod 644 {} +
chmod 600 wp-config.php

Cuando el problema es el dueño

Cada archivo tiene un dueño además de permisos. En un hosting con DirectAdmin, todo lo que está dentro de tu cuenta tiene que pertenecer a tu usuario del panel: así PHP, que corre como ese usuario, escribe sin necesidad de permisos abiertos. Si una restauración hecha por consola o un script ejecutado con otro usuario dejó archivos a nombre de otro, aparecen fallas sin lógica aparente: un archivo imposible de borrar, subidas que fallan en una sola carpeta, un WordPress que pide datos de FTP para actualizarse.

Desde File Manager se tocan los permisos, nunca el dueño, y ningún número lo resuelve. Se corrige del lado del servidor: escribinos por ticket con la ruta que falla. En un VPS lo hacés vos, con chown -R usuario:usuario sobre la carpeta.

Del error al permiso

Lo que vesLo más probableQué hacer
403 en todo el sitiopublic_html o una carpeta superior sin permiso de entradaCarpetas en 755
403 solo en imágenes o estilosArchivos estáticos en 600 o 640Llevarlos a 644
500 después de cambiar permisosAlgo quedó en 777 en un servidor con suPHPVolver a 755 y 644
WordPress pide datos de FTP para actualizarArchivos a nombre de otro usuarioCorregir el dueño, por ticket
No se puede borrar un archivo en 644La carpeta que lo contiene no tiene escritura, o el dueño es otroRevisar la carpeta y después el dueño

Un 500 también puede venir de una línea inválida en el .htaccess. Si tocaste ese archivo hace poco, empezá por ahí.

Preguntas frecuentes

¿Qué permiso le pongo a wp-config.php?

600 o 640. WordPress lo lee a través de PHP, que corre como tu usuario, así que nadie más necesita leerlo. Algunos lo dejan en 400 o 440, de solo lectura, y lo cambian a mano cuando hay que editarlo.

¿Tengo que tocar permisos después de usar el instalador de aplicaciones?

No. El instalador del panel deja cada archivo y cada carpeta con el valor correcto y con tu usuario como dueño. Si algo falla después de instalar, el motivo suele ser otro.

¿Por qué los archivos que subo por FTP quedan con otro permiso?

El servidor de FTP aplica una máscara al crear cada archivo, que normalmente da 644 a los archivos y 755 a las carpetas. Si ves otros valores, revisá tu cliente: algunos intentan copiar los permisos que el archivo tenía en tu computadora.

Un plugin me pide 777 en una carpeta, ¿se lo doy?

No. Probá con 755 y, si el plugin sigue sin poder escribir, el problema es el dueño de la carpeta. Un plugin que solo funciona con 777 es una buena razón para buscar otro.

Seguí leyendo

¿Preferís que lo veamos juntos? Te atiende una persona.

Si la guía no alcanza para tu caso, contanos qué necesitás: te ayudamos a elegir el plan, a migrar o a configurar tu servidor.

Hablar con un técnico