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

Solución a errores comunes de permisos en DirectAdmin

Actualizado el 19 de enero de 2026

¿Te encuentras con pantallas blancas, errores 500 o mensajes de "Permission Denied" en tu servidor DirectAdmin? No te preocupes, es uno de los problemas más comunes en la administración de servidores Linux. En esta guía completa, vamos a desglosar las causas más frecuentes de estos errores permisos DirectAdmin y, lo más importante, cómo solucionarlos paso a paso.

Entender los permisos en Linux es como aprender las reglas de una casa: cada archivo y carpeta tiene un dueño (usuario) y un grupo, y se definen quién puede leer, escribir o ejecutar. DirectAdmin gestiona esto automáticamente, pero a veces, al mover archivos, instalar scripts o hacer backups, estos permisos se desconfiguran. Aquí aprenderás a diagnosticar y reparar todo sin necesidad de ser un experto en SysAdmin.


¿Por qué ocurren los errores de permisos en DirectAdmin?

Antes de lanzarnos a las soluciones, es clave entender el origen del problema. Los errores de permisos en DirectAdmin suelen aparecer por:

  • Subida de archivos incorrecta: Al usar FTP o el gestor de archivos, a veces los archivos se suben con el usuario o grupo equivocado (por ejemplo, nobody en lugar del usuario del plan).
  • Scripts o CMS mal configurados: WordPress, Joomla o Laravel a veces intentan escribir en carpetas que no les corresponden.
  • Restauraciones de backups: Al restaurar un backup de otro servidor, los UID (identificadores de usuario) pueden no coincidir.
  • Actualizaciones del sistema: Al actualizar PHP, Apache o Nginx, algunos archivos de configuración pueden perder sus permisos originales.
  • Comandos manuales: Ejecutar chmod o chown desde SSH sin el conocimiento adecuado.

[WARNING] ¡Cuidado! Modificar permisos sin entender el contexto puede dejar tu web inaccesible o, peor aún, crear vulnerabilidades de seguridad. Siempre haz una copia de seguridad antes de experimentar.


Soluciones paso a paso para corregir errores de permisos en DirectAdmin

A continuación, te presento las técnicas más efectivas para solucionar permisos en DirectAdmin, ordenadas de la más simple a la más avanzada.

1. Usar la herramienta de reparación integrada de DirectAdmin (La más fácil)

DirectAdmin incluye un script de reparación que es tu primer recurso. Este comando restablece los permisos y propietarios de todos los archivos del sistema a sus valores por defecto.

Pasos a seguir:

  1. Accede a tu servidor por SSH como usuario root (o un usuario con permisos sudo).
  2. Ejecuta el siguiente comando:
    /usr/local/directadmin/dataskq d
    
    Este comando fuerza a DirectAdmin a procesar todas las tareas pendientes, incluyendo las de reparación de permisos.
  3. Para una reparación más profunda, usa:
    /usr/local/directadmin/scripts/perm.sh
    
    Este script recorrerá todo el sistema corrigiendo permisos de archivos binarios, bibliotecas y configuraciones.

[TIP] Este proceso puede tardar varios minutos. No interrumpas la terminal mientras se ejecuta.

2. Reparar permisos de un usuario específico

Si el error solo afecta a un sitio web o cuenta de hosting, no necesitas reparar todo el servidor. DirectAdmin permite reparar los permisos de un usuario concreto.

Desde la línea de comandos (SSH):

  1. Identifica el nombre de usuario de la cuenta afectada (por ejemplo, usuario1).
  2. Ejecuta:
    /usr/local/directadmin/scripts/perm.sh usuario1
    
    Esto ajustará los permisos de /home/usuario1 y todos sus subdirectorios (domains, backups, etc.).

Desde el panel de DirectAdmin (Interfaz web):

  1. Inicia sesión en DirectAdmin como Administrador o Revendedor.
  2. Ve a Gestión de Usuarios -> Lista de Usuarios.
  3. Haz clic en el nombre de usuario afectado.
  4. Busca el botón Reparar o Restablecer permisos (puede variar según la versión). Confirma la acción.

3. Corregir permisos de archivos y carpetas de sitios web (WordPress, etc.)

Este es el error más común: las carpetas wp-content, uploads o cache no tienen permisos de escritura. Aquí tienes la receta estándar para un sitio web típico.

Regla de oro:

  • Carpetas: 755 (rwxr-xr-x)
  • Archivos: 644 (rw-r--r--)
  • Archivos ejecutables (scripts, binarios): 755

Comandos rápidos desde SSH (dentro de la carpeta del dominio, ej: /home/usuario1/domains/midominio.com/public_html):

# Corregir todas las carpetas a 755
find . -type d -exec chmod 755 {} \;

# Corregir todos los archivos a 644
find . -type f -exec chmod 644 {} \;

# Si tienes archivos que necesitan ser ejecutables (ej: wp-cron.php)
find . -name "*.php" -exec chmod 644 {} \;  # Los PHP no deben ser ejecutables

[INFO] Si usas Syspanel (antes HestiaCP), el proceso es similar pero el acceso al panel es vía puerto 2106. Los comandos de reparación de permisos son prácticamente idénticos.

4. Corregir el propietario (usuario y grupo)

A veces los permisos numéricos están bien, pero el dueño del archivo es incorrecto (por ejemplo, root:root en lugar de usuario1:usuario1). Esto provoca errores 500 o "Forbidden".

Solución desde SSH:

  1. Ve a la raíz del usuario: cd /home/usuario1
  2. Cambia el propietario de todo el contenido:
    chown -R usuario1:usuario1 .
    
    Esto asigna todos los archivos y carpetas al usuario usuario1 y su grupo principal.

[WARNING] No ejecutes chown -R en /home sin especificar un usuario, ya que podrías romper otras cuentas. Siempre apunta a una carpeta de usuario específica.

5. Reparar permisos de bases de datos (MySQL/MariaDB)

A veces el error no está en los archivos, sino en que el usuario de la base de datos no tiene permisos para acceder a ella. Esto es común al migrar sitios.

Desde DirectAdmin (como Administrador):

  1. Ve a Gestión de MySQL -> Lista de bases de datos.
  2. Busca la base de datos afectada.
  3. Haz clic en Editar privilegios o Reparar permisos de usuario.
  4. Asegúrate de que el usuario tenga todos los privilegios (SELECT, INSERT, UPDATE, DELETE, etc.) marcados.

Desde SSH (línea de comandos):

-- Accede a MySQL
mysql -u root -p

-- Otorga todos los privilegios al usuario sobre la base de datos
GRANT ALL PRIVILEGES ON basededatos.* TO 'usuario'@'localhost';
FLUSH PRIVILEGES;
EXIT;

6. Errores de permisos en el panel de control (DirectAdmin)

Si el propio panel de DirectAdmin no carga, o ves errores como "Cannot write to /var/log/directadmin/error.log", el problema está en los archivos del sistema.

Solución avanzada (solo para SysAdmin):

  1. Detén DirectAdmin:
    service directadmin stop
    
  2. Repara los permisos de los archivos del panel:
    chown -R diradmin:diradmin /usr/local/directadmin
    chmod -R 755 /usr/local/directadmin
    
  3. Reinicia el servicio:
    service directadmin start
    

Si el error persiste, revisa los logs:

tail -f /var/log/directadmin/error.log

FAQ: Preguntas frecuentes sobre errores de permisos en DirectAdmin

¿Cómo sé si un error es por permisos?

Los síntomas típicos son:

  • Error 500 Internal Server Error en tu web.
  • Pantalla blanca (WSOD) en WordPress.
  • Mensaje "Permission denied" al subir archivos por FTP.
  • "Forbidden" al acceder a una carpeta.
  • El panel de control no guarda cambios.

¿Puedo usar un plugin de WordPress para reparar permisos?

No recomendamos plugins de reparación de permisos desde WordPress, ya que el propio WordPress puede no tener permisos para ejecutarlos correctamente. Es mejor hacerlo desde SSH o el panel de DirectAdmin.

¿Cada cuánto debo revisar los permisos?

No es necesario hacerlo de forma periódica, solo cuando notes problemas. Sin embargo, tras una migración, actualización grande o restauración de backup, es buena práctica ejecutar el script perm.sh.

¿Qué hago si después de reparar, mi web sigue rota?

  1. Verifica los logs de Apache/Nginx en /var/log/httpd/domains/midominio.com.error.log o /var/log/nginx/domains/midominio.com.error.log.
  2. Comprueba el archivo .htaccess (a veces tiene directivas incorrectas).
  3. Revisa la configuración de PHP (versión, límites de memoria).
  4. Si todo falla, contacta a tu proveedor de hosting o a un SysAdmin.

¿SysPanel (HestiaCP) tiene herramientas similares?

Sí, Syspanel (puerto 2106) también incluye scripts de reparación. El comando equivalente es v-repair-syspanel o v-repair-user. La lógica de permisos (755/644) es la misma.


Conclusión: Prevención y buenas prácticas

Los errores permisos DirectAdmin son molestos, pero rara vez son graves si sabes cómo atacarlos. La clave está en:

  • Usar siempre el gestor de archivos de DirectAdmin en lugar de FTP para subir archivos críticos.
  • No ejecutar chmod 777 a menos que sea estrictamente necesario y temporal.
  • Mantener copias de seguridad de los permisos originales (puedes usar getfacl -R /home/usuario1 > permisos.txt).
  • Actualizar DirectAdmin a la última versión, ya que incluye mejoras en la gestión de permisos.

Recuerda: si te sientes abrumado, el comando /usr/local/directadmin/scripts/perm.sh es tu mejor amigo. Y si nada funciona, el soporte de tu hosting o un SysAdmin troubleshooting profesional siempre será la opción más segura.

Esperamos que esta guía te haya sido de gran ayuda. ¡Ahora ya puedes solucionar esos errores de permisos como un experto!

¿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