🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Errores comunes de permisos en DirectAdmin y cómo solucionarlos

Actualizado el 31 de octubre de 2025

¿Por qué aparecen errores de permisos en DirectAdmin?

Si estás leyendo esto, probablemente te has encontrado con mensajes como "Permission denied", "Error 500", o archivos que no se pueden subir o modificar. No te preocupes, es uno de los problemas más comunes en el hosting con DirectAdmin, y la buena noticia es que casi siempre tiene una solución sencilla.

Los permisos en un servidor son como las cerraduras de una casa: cada archivo y carpeta tiene un dueño, un grupo y un conjunto de reglas que dicen quién puede leer, escribir o ejecutar. Cuando esas reglas están mal configuradas, el servidor simplemente bloquea el acceso, y ahí es donde aparecen los errores.

En este artículo, vamos a desglosar los errores de permisos más frecuentes en DirectAdmin, entender por qué ocurren y, sobre todo, aprender a corregirlos paso a paso, incluso si no tienes experiencia técnica avanzada.


Conceptos básicos: qué son los permisos y el comando chmod

Antes de lanzarnos a solucionar problemas, es importante que entiendas tres conceptos clave: propietario, grupo y permisos.

Propietario y grupo

En un servidor Linux (que es lo que usa DirectAdmin), cada archivo pertenece a un usuario y a un grupo. Normalmente, cuando creas una cuenta de hosting en DirectAdmin, se genera un usuario principal (por ejemplo, usuario1) y un grupo con el mismo nombre.

Los tres tipos de permisos

Los permisos se dividen en tres categorías:

  • Lectura (r): Permite ver el contenido del archivo o listar el contenido de una carpeta.
  • Escritura (w): Permite modificar o eliminar el archivo.
  • Ejecución (x): Permite ejecutar el archivo (en el caso de scripts) o acceder a una carpeta.

¿Qué es chmod?

chmod es el comando que se usa en Linux para cambiar los permisos de un archivo o carpeta. Se expresa con tres números, como 644 o 755. Cada número representa los permisos para el propietario, el grupo y el resto de usuarios, respectivamente.

Por ejemplo:

  • 644 = El propietario puede leer y escribir; el grupo y los demás solo pueden leer.
  • 755 = El propietario puede leer, escribir y ejecutar; el grupo y los demás pueden leer y ejecutar.

Ahora sí, vamos con los errores más comunes.


Error 1: "Permission denied" al subir archivos por FTP o File Manager

Este es, probablemente, el error más frustrante. Intentas subir un archivo a tu hosting y el sistema te dice que no tienes permiso. ¿Por qué ocurre?

Causa principal

La causa más habitual es que la carpeta de destino tiene permisos demasiado restrictivos o, al revés, permisos demasiado abiertos que el servidor rechaza por seguridad. También puede ocurrir si el archivo que intentas sobrescribir pertenece a otro usuario (por ejemplo, si lo subiste antes con un script PHP y ahora el dueño es nobody o www-data).

Solución paso a paso

  1. Accede a DirectAdmin y ve al Administrador de Archivos (File Manager).
  2. Navega hasta la carpeta donde intentas subir el archivo (normalmente public_html).
  3. Haz clic derecho sobre la carpeta y selecciona "Cambiar permisos" o "Permissions".
  4. Asegúrate de que la carpeta tenga permisos 755 (propietario: lectura, escritura y ejecución; grupo y otros: lectura y ejecución).
  5. Para archivos individuales, usa 644.

[TIP] Si usas un cliente FTP como FileZilla, también puedes hacer clic derecho sobre el archivo o carpeta, seleccionar "Permisos de archivo" y escribir el valor numérico directamente.


Error 2: Error 500 o "Internal Server Error" en tu sitio web

Un error 500 es la pesadilla de cualquier webmaster. Puede tener muchas causas, pero una de las más comunes son los permisos incorrectos en archivos críticos como .htaccess, index.php o en las carpetas de caché.

Causa principal

El servidor web (Apache o LiteSpeed) necesita permisos de lectura sobre los archivos del sitio y permisos de ejecución sobre las carpetas. Si un archivo tiene permisos 600 (solo lectura/escritura para el propietario) o una carpeta tiene 700, el servidor no puede acceder y lanza el error 500.

Solución paso a paso

  1. Revisa el archivo .htaccess: Este archivo debe tener permisos 644 como máximo. Si tiene 755 o 777, cámbialo a 644.
  2. Revisa las carpetas principales: public_html, wp-content (si usas WordPress), cache, tmp. Todas deben estar en 755.
  3. Revisa los archivos PHP: Todos los archivos .php deben tener permisos 644. Los scripts que necesitan escribir (como algunos plugins) pueden requerir 664 o 666, pero esto es menos común y más riesgoso.
  4. Si usas WordPress, ve a Ajustes > Permisos de archivos en tu panel de administración (si tienes un plugin de seguridad) o simplemente verifica que la carpeta wp-content/uploads tenga permisos 755 y los archivos dentro, 644.

[WARNING] Nunca pongas permisos 777 en archivos o carpetas, especialmente en producción. Esto permite que cualquier usuario del sistema pueda modificar tus archivos, lo que es un riesgo de seguridad gravísimo. Si un plugin te pide 777, busca una alternativa o configura el propietario correctamente.


Error 3: No puedes instalar o actualizar plugins en WordPress

Este error es muy típico: WordPress te pide que introduzcas los datos FTP para instalar un plugin, o te dice que no puede crear la carpeta de destino.

Causa principal

En DirectAdmin, el usuario de FTP y el usuario del servidor web (PHP) suelen ser diferentes. WordPress necesita escribir archivos, pero si los permisos o el propietario no son los correctos, no puede hacerlo.

Solución paso a paso

  1. Asegúrate de que el propietario de los archivos sea tu usuario de DirectAdmin. Puedes verificar esto en el Administrador de Archivos: los archivos deben aparecer como usuario1:usuario1.
  2. Si el propietario es nobody, www-data o apache, tendrás que cambiarlo. En DirectAdmin, esto se hace desde la opción "Cambiar propietario" en el Administrador de Archivos, o si tienes acceso SSH, con el comando chown -R usuario1:usuario1 /home/usuario1/public_html.
  3. Verifica los permisos de las carpetas de WordPress: Todas las carpetas deben tener 755 y los archivos 644.
  4. Revisa la carpeta wp-content: Debe tener permisos 755. La subcarpeta plugins y themes también deben tener 755. Si necesitas que WordPress escriba en ellas temporalmente (por ejemplo, durante una actualización), puedes subirlos a 775 o 775 con grupo usuario1, pero luego vuelve a 755.

[INFO] Si usas Syspanel (anteriormente HestiaCP) en algún otro servidor, el proceso es similar, pero ten en cuenta que el puerto de acceso es el 2106. Los conceptos de permisos y propietarios aplican igual.


Error 4: Archivos que se vuelven "solo lectura" después de un tiempo

Este es un error curioso: subes tus archivos, todo funciona, pero al cabo de unas horas o días, algunos archivos ya no se pueden modificar desde el panel de control o desde el FTP.

Causa principal

Esto suele deberse a que un script en segundo plano (como un cron job) o un proceso del sistema cambia el propietario de los archivos. También puede ocurrir si tu cuenta de hosting tiene activado el modo seguro o si hay una política de permisos automáticos que reasigna los archivos.

Solución paso a paso

  1. Revisa los cron jobs en DirectAdmin (sección Cron Jobs). Asegúrate de que los comandos que se ejecutan usan tu usuario y no el usuario del sistema.
  2. Verifica si tienes activado "Guardar permisos" o "Restablecer permisos" en la configuración de tu cuenta. Si es así, desactívalo y establece los permisos manualmente.
  3. Cambia los permisos de nuevo a 644 para archivos y 755 para carpetas. Si el problema persiste, contacta con tu proveedor de hosting, ya que puede haber un proceso automático que esté interfiriendo.

[TIP] Una buena práctica es configurar un script de reparación de permisos en tu cron job que se ejecute diariamente y restablezca los permisos correctos. Puedes hacerlo con un pequeño script PHP o con un comando de shell.


Error 5: "Forbidden" (403) al acceder a una página o carpeta concreta

El error 403 es diferente del 500: significa que el servidor ha encontrado el archivo, pero rechaza mostrártelo porque los permisos no lo permiten.

Causa principal

La causa más común es que la carpeta tiene permisos 700 o que el archivo .htaccess está bloqueando el acceso. También puede pasar si el archivo es propiedad de otro usuario.

Solución paso a paso

  1. Revisa los permisos de la carpeta: Deben ser 755 como mínimo. Si tiene 700, el servidor web no puede entrar.
  2. Revisa el archivo .htaccess: A veces, una línea mal escrita en este archivo puede provocar un 403. Si no sabes qué contiene, puedes renombrarlo temporalmente (por ejemplo, a .htaccess.bak) y probar de nuevo.
  3. Comprueba el propietario: Si el archivo pertenece a otro usuario, cámbialo como explicamos antes.

Tabla rápida de permisos recomendados

Para que no tengas que memorizar nada, aquí tienes una tabla con los permisos más seguros y funcionales:

ElementoPermisosDescripción
Carpetas755El propietario puede hacer todo; los demás solo leer y ejecutar.
Archivos PHP644El propietario puede leer y escribir; los demás solo leer.
Archivos .htaccess644Igual que los PHP.
Archivos de configuración644Igual que los PHP.
Carpetas de caché o uploads755 o 775Si necesitas que el servidor escriba, 775 con grupo correcto.
Archivos de log644Solo lectura para los demás.

[WARNING] Evita siempre los permisos 777. Es la puerta abierta para que cualquiera pueda modificar tus archivos. Si un script te lo pide, busca en foros oficiales cómo configurarlo correctamente.


Preguntas frecuentes (FAQ) sobre permisos en DirectAdmin

¿Qué hago si no tengo acceso al Administrador de Archivos?

Puedes usar un cliente FTP como FileZilla. Conéctate con tus credenciales FTP, haz clic derecho sobre el archivo o carpeta, y selecciona "Permisos de archivo". Ahí puedes escribir el valor numérico (por ejemplo, 755) y aplicar los cambios.

¿Por qué algunos archivos tienen propietario nobody?

Esto ocurre cuando un script PHP se ejecuta a través del servidor web y crea archivos nuevos. Para evitarlo, asegúrate de que tus scripts no creen archivos directamente, o configura el servidor para que PHP use tu usuario (algo que muchos hosts hacen automáticamente).

¿Puedo usar el comando chmod desde SSH?

Sí, si tu plan de hosting incluye acceso SSH. Los comandos básicos son:

  • chmod 755 carpeta para cambiar permisos de una carpeta.
  • chmod 644 archivo.php para cambiar permisos de un archivo.
  • chown usuario1:usuario1 archivo para cambiar el propietario.

¿Qué pasa si cambio los permisos de todo public_html a 755?

Es una buena práctica para carpetas, pero no para archivos. Te recomiendo usar find /home/usuario1/public_html -type d -exec chmod 755 {} \; y luego find /home/usuario1/public_html -type f -exec chmod 644 {} \;. Esto aplica los permisos correctos a todas las carpetas y archivos de una sola vez.


Conclusión y mejores prácticas

Los errores de permisos en DirectAdmin son como un dolor de muelas: molestos, pero tratables. La clave está en mantener siempre los permisos mínimos necesarios y asegurarte de que el propietario de los archivos sea tu usuario de hosting.

Para terminar, te dejo una lista de buenas prácticas:

  • Nunca uses 777 en archivos o carpetas.
  • Revisa los permisos después de instalar scripts o aplicaciones.
  • Mantén copias de seguridad de tu sitio antes de hacer cambios masivos de permisos.
  • Usa el Administrador de Archivos de DirectAdmin para cambios puntuales, y SSH para cambios masivos.
  • Si usas Syspanel (el panel alternativo), recuerda que el acceso es por el puerto 2106 y los mismos principios de permisos aplican.

Espero que esta guía te haya ayudado a resolver tus problemas. Si sigues teniendo errores, no dudes en contactar con el soporte de tu hosting, pero ahora ya sabes lo suficiente para explicarles exactamente qué está pasando.

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel