Cómo cambiar permisos de archivos y directorios en DirectAdmin (CHMOD)
¿Qué es CHMOD y por qué debería importarte?
Si alguna vez has visto un número raro como 755 o 644 junto a tus archivos en el administrador de archivos de DirectAdmin, te habrás preguntado qué significa. Esos números son los permisos CHMOD, una de las herramientas de seguridad más importantes pero menos entendidas del hosting.
En términos sencillos, los permisos CHMOD son como las llaves de tu casa. Le dicen al servidor quién puede entrar, quién puede leer, quién puede escribir y quién puede ejecutar cada archivo o carpeta. Si dejas todas las puertas abiertas (permisos 777), cualquiera podría entrar y hacer lo que quiera. Si las cierras demasiado (permisos 000), ni tú podrás acceder a tu propio sitio web.
En este artículo te voy a explicar, paso a paso y sin tecnicismos innecesarios, cómo cambiar los permisos de archivos y directorios en DirectAdmin, qué valores usar en cada caso y cómo evitar vulnerabilidades comunes que aprovechan los atacantes.
¿Cómo se leen los permisos CHMOD?
Antes de tocar nada, necesitas entender cómo funcionan. Cada archivo o carpeta tiene tres grupos de permisos:
- Propietario (Owner): normalmente eres tú, la cuenta de hosting.
- Grupo (Group): un conjunto de usuarios del servidor que pueden tener acceso.
- Público (Public/Others): cualquier persona que visite tu sitio web.
Cada grupo tiene tres permisos posibles:
- Lectura (Read): valor 4.
- Escritura (Write): valor 2.
- Ejecución (Execute): valor 1.
¿Y de dónde sale el número de tres dígitos como 755? Es la suma de esos valores para cada grupo. Por ejemplo:
- 7 = 4 + 2 + 1 (lectura, escritura y ejecución).
- 5 = 4 + 1 (lectura y ejecución, sin escritura).
- 4 = 4 (solo lectura).
Así que 755 significa que el propietario tiene todos los permisos, el grupo puede leer y ejecutar, y el público también puede leer y ejecutar. Esto es lo más habitual para carpetas.
Para archivos, lo común es 644: el propietario lee y escribe, y el resto solo lee.
[INFO] Piensa en el CHMOD como en una contraseña adicional para tus archivos. El servidor comprueba estos permisos cada vez que alguien intenta acceder a un archivo o carpeta.
Cómo cambiar permisos en DirectAdmin: método visual
DirectAdmin tiene un administrador de archivos integrado que te permite cambiar permisos sin usar comandos. Es el método más recomendable si no tienes experiencia con la terminal.
Paso 1: Accede al administrador de archivos
Entra en tu panel de DirectAdmin y busca la sección Administrador de archivos (File Manager). Normalmente está en el menú principal o dentro de la sección "Herramientas".
Paso 2: Navega hasta el archivo o carpeta
Una vez dentro, verás la estructura de directorios de tu cuenta. Navega hasta la carpeta donde está el archivo o directorio que quieres modificar. Por ejemplo, si es tu WordPress, probablemente esté en public_html.
Paso 3: Selecciona el archivo y cambia los permisos
Marca la casilla junto al archivo o carpeta y luego haz clic en el botón Permisos (Permissions) en la barra superior. Se abrirá una ventana con tres columnas: Propietario, Grupo y Público.
Aquí puedes hacer dos cosas:
- Usar las casillas de verificación: marca o desmarca las opciones de lectura, escritura y ejecución para cada grupo.
- Escribir el número directamente: introduce el valor numérico (por ejemplo, 755) en el campo correspondiente.
Cuando termines, haz clic en Guardar o Aplicar. El servidor actualizará los permisos al instante.
[TIP] Si tienes que cambiar muchos archivos a la vez, selecciona varios con la tecla Ctrl (o Cmd en Mac) y luego aplica los permisos. DirectAdmin los cambiará todos de una vez.
Cómo cambiar permisos con comandos SSH
Si te sientes más cómodo con la terminal, puedes usar SSH. Es más rápido y te da más control, pero requiere un poco más de experiencia.
Conexión SSH
Abre tu terminal y conéctate a tu servidor con:
ssh usuario@tu-dominio.com
Te pedirá tu contraseña. Una vez dentro, navega hasta la carpeta que quieras:
cd public_html
Comando CHMOD básico
El comando es siempre chmod seguido del valor numérico y la ruta del archivo o carpeta.
Para cambiar permisos de un archivo:
chmod 644 mi-archivo.php
Para cambiar permisos de una carpeta:
chmod 755 mi-carpeta
Cambiar permisos de forma recursiva
Esto es importante. Si quieres cambiar los permisos de una carpeta y todo su contenido, usa la opción -R (recursiva):
chmod -R 755 mi-carpeta
[WARNING] Ten muchísimo cuidado con
-R. Si lo aplicas a toda tu carpetapublic_htmlcon permisos incorrectos, podrías dejar tu sitio web inservible o, peor aún, abrir una puerta trasera a los atacantes. Siempre prueba primero en un archivo de prueba.
Tabla de permisos recomendados para hosting
No todos los archivos deben tener los mismos permisos. Aquí tienes una guía rápida de qué usar en cada caso:
| Tipo de archivo | Permisos | ¿Por qué? |
|---|---|---|
| Carpetas (directorios) | 755 | Permite navegar y leer, pero no modificar por otros usuarios |
| Archivos PHP | 644 | Lectura y escritura para ti, solo lectura para el resto |
| Archivos de configuración (wp-config.php) | 600 o 640 | Máxima seguridad, solo tú puedes leerlos |
| Archivos de log | 644 | Lectura para todos, escritura solo para ti |
| Archivos de caché | 666 o 664 | El servidor necesita escribir en ellos constantemente |
| Carpetas de subida de usuarios | 755 | Permite subir archivos sin dar permisos de escritura al público |
| Archivos ejecutables (scripts) | 755 | Necesitan ejecutarse, pero no ser modificados por otros |
| Archivos sensibles (bases de datos, backups) | 600 | Solo tú debes tener acceso |
[INFO] Si usas un CMS como WordPress, Joomla o PrestaShop, la mayoría de los archivos deben ser 644 y las carpetas 755. Esto es lo que los instaladores automáticos configuran por defecto.
Los peligros del CHMOD 777: la puerta abierta
Uno de los errores más comunes que veo como técnico de soporte es que los usuarios ponen permisos 777 (todos pueden leer, escribir y ejecutar) para "arreglar" problemas de subida de archivos o de escritura en caché.
Esto es un gravísimo error de seguridad.
Con 777, cualquier persona que conozca la URL de tu archivo puede modificarlo, borrarlo o incluso subir código malicioso. Es como dejar la puerta de tu casa abierta con un cartel que dice "Pase usted".
Estas son algunas de las vulnerabilidades que se aprovechan de permisos incorrectos:
- Inyección de código malicioso: un atacante modifica tus archivos PHP para redirigir a los visitantes a sitios de phishing o instalar malware.
- Defacement: cambian el contenido de tu web para mostrar mensajes políticos, publicidad o contenido ilegal.
- Robo de datos: si tu archivo de configuración tiene permisos demasiado abiertos, pueden leer tus contraseñas y datos de conexión a la base de datos.
- Uso de tu servidor como bot: tu hosting puede ser usado para enviar spam o atacar otros sitios, y el proveedor podría suspender tu cuenta.
[WARNING] Si alguna vez te dicen que pongas 777 para solucionar un problema, desconfía. Es la solución fácil pero peligrosa. Busca siempre alternativas más seguras como cambiar el propietario del archivo o usar 755 en carpetas.
Cómo identificar archivos con permisos peligrosos
DirectAdmin tiene una herramienta que te puede ayudar a encontrar archivos con permisos demasiado abiertos.
Buscar archivos con permisos 777
En el administrador de archivos, puedes ordenar por la columna de permisos y buscar los que pongan 777. Si los encuentras, cámbialos inmediatamente a 755 (carpetas) o 644 (archivos).
Usar comandos para buscar
Si tienes acceso SSH, puedes usar este comando para encontrar todos los archivos con permisos 777 en tu cuenta:
find public_html -type f -perm 777
Y para carpetas:
find public_html -type d -perm 777
Si el comando devuelve resultados, ya sabes qué tienes que cambiar.
Scripts de automatización
Algunos plugins de seguridad para CMS escanean tu sitio y te avisan si encuentran permisos incorrectos. Por ejemplo, los plugins de seguridad de WordPress suelen incluir esta función.
Casos especiales: cuando los permisos no son los habituales
Archivos de caché
Algunos sistemas de caché necesitan que el servidor web escriba en archivos o carpetas. En lugar de usar 777, lo correcto es:
- Carpeta de caché: 755
- Archivos dentro de la caché: 644
Si tu aplicación no puede escribir, el problema suele ser que el propietario del archivo no coincide con el usuario del servidor web. En DirectAdmin, puedes cambiar el propietario desde el administrador de archivos, pero esto requiere permisos de administrador.
Subida de archivos por usuarios
Si tienes un formulario de subida de archivos en tu web, la carpeta de destino necesita permisos de escritura. Pero no para el público, sino para el servidor web. Lo correcto es:
- Carpeta de destino: 755
- El servidor web (Apache/Nginx) necesita ser el propietario o estar en el grupo.
Archivos de configuración de aplicaciones
Para máxima seguridad, los archivos que contienen contraseñas o claves (como wp-config.php en WordPress) deberían tener permisos 600 o 640. Esto evita que otros usuarios del servidor puedan leerlos.
[TIP] En DirectAdmin, puedes cambiar los permisos de un archivo a 600 incluso si no eres el propietario, siempre que tengas acceso a la cuenta. Úsalo para tus archivos más sensibles.
Errores comunes al cambiar permisos y cómo evitarlos
Error 1: Asumir que todos los archivos deben tener los mismos permisos
Cada archivo cumple una función. Un script PHP necesita ejecutarse, pero una imagen no. Un archivo de configuración no necesita escritura pública. Analiza cada caso.
Error 2: Cambiar permisos de toda la carpeta public_html
Si aplicas chmod -R a toda la carpeta, puedes romper muchos archivos. Por ejemplo, si pones 644 a una carpeta, el servidor no podrá leer su contenido y tu web dará error 403.
Error 3: No comprobar el propietario correcto
En DirectAdmin, los archivos suelen pertenecer a tu usuario. Pero si has subido archivos mediante FTP con otro usuario, los permisos pueden no coincidir. Verifica siempre el propietario en el administrador de archivos.
Error 4: Olvidar que los cambios son inmediatos
No hay vuelta atrás. Si cambias los permisos de un archivo crítico y algo falla, tendrás que volver a cambiarlos manualmente. Siempre ten una copia de seguridad de tus permisos originales.
[WARNING] Antes de hacer cambios masivos, anota los permisos actuales de tus archivos principales. Si algo sale mal, podrás restaurarlos rápidamente.
Preguntas frecuentes sobre CHMOD en DirectAdmin
¿Puedo cambiar permisos desde FTP?
Sí, la mayoría de los clientes FTP como FileZilla permiten cambiar permisos. Haz clic derecho sobre el archivo y selecciona "Permisos de archivo" o "File permissions". Allí podrás marcar las casillas o escribir el valor numérico.
¿Cuál es la diferencia entre permisos en archivos y en carpetas?
En archivos, el permiso de ejecución significa que el archivo puede ejecutarse como script. En carpetas, ejecución significa que se puede navegar dentro de ella. Por eso las carpetas suelen tener 755 (con ejecución) y los archivos 644 (sin ejecución).
¿Qué hago si mi web da error 500 después de cambiar permisos?
Probablemente has quitado el permiso de ejecución a un script que lo necesita. Vuelve a poner 755 en las carpetas y 644 en los archivos PHP. Si el error persiste, revisa el archivo .htaccess y los logs de error en DirectAdmin.
¿Es seguro usar 666 en archivos de caché?
Es más seguro que 777, pero aún así permite a cualquiera escribir. Intenta usar 664 si el grupo del servidor web coincide, o 755 en la carpeta y 644 en los archivos.
¿Cómo sé qué permisos tienen mis archivos ahora?
En el administrador de archivos de DirectAdmin, cada archivo muestra sus permisos en una columna. También puedes usar el comando ls -l en SSH para verlos de forma detallada.
¿Los permisos afectan al SEO?
Indirectamente, sí. Si un archivo tiene permisos incorrectos y da error 403 o 500, los motores de búsqueda no podrán indexar tu contenido. Además, si tu web es hackeada por permisos inseguros, tu reputación online se verá dañada.
Consejos finales para mantener tu hosting seguro
Cambiar permisos es solo una parte de la seguridad de tu hosting. Aquí tienes una lista rápida de buenas prácticas:
- Revisa los permisos periódicamente: al menos una vez al mes, busca archivos con 777.
- Mantén tu CMS actualizado: las vulnerabilidades de software se aprovechan de permisos incorrectos.
- Usa contraseñas fuertes: tanto para tu panel de DirectAdmin como para tus archivos.
- Haz copias de seguridad: si algo sale mal, podrás restaurar tu sitio.
- Desconfía de soluciones mágicas: nadie debería pedirte permisos 777 para "arreglar" algo.
[TIP] Si usas un panel alternativo como Syspanel (que se accede por el puerto 2106), los conceptos de permisos son exactamente los mismos. La interfaz puede variar, pero la lógica de los números CHMOD es universal.
Resumen rápido
Para que no te pierdas, aquí tienes la esencia de todo:
- Carpetas: usa 755 por defecto.
- Archivos normales: usa 644 por defecto.
- Archivos de configuración sensibles: usa 600 o 640.
- Nunca uses 777 a menos que sea absolutamente necesario y temporal.
- Cambia permisos desde DirectAdmin de forma visual o con comandos SSH si te sientes cómodo.
- Revisa periódicamente tus archivos en busca de permisos peligrosos.
Con esto ya tienes el conocimiento necesario para gestionar los permisos de tus archivos en DirectAdmin de forma segura y efectiva. Recuerda que la seguridad de tu sitio web empieza por los pequeños detalles, y los permisos CHMOD son uno de los más importantes.
Si te surge cualquier duda, no dudes en consultar la documentación de tu proveedor de hosting o abrir un ticket de soporte. Estamos aquí para ayudarte.
