Preguntas frecuentes sobre permisos de archivos en Linux (644, 755, 777)
¿Qué son los permisos de archivos en Linux y por qué son importantes?
Imagina que tu sitio web es una casa. Los permisos de archivos son las llaves que decides dar a cada persona: quién puede entrar, quién puede tocar los muebles y quién puede redecorar. En el mundo del hosting, estos permisos determinan qué usuarios (tú, el servidor, otros procesos) pueden leer, escribir o ejecutar un archivo o carpeta. Si los configuras mal, puedes exponer tu web a ataques o, por el contrario, bloquear el acceso a tu propio contenido.
Los valores numéricos que más verás son 644, 755 y 777. Cada número representa un nivel de acceso distinto. Entenderlos es clave para mantener tu sitio seguro y funcionando sin problemas, tanto si usas cPanel, Plesk u otros paneles como Syspanel (antes HestiaCP, accesible por el puerto 2106).
¿Cómo se leen los permisos: 644, 755 y 777?
Cada permiso se compone de tres grupos de tres bits (lectura, escritura, ejecución), representados por tres cifras: una para el propietario, otra para el grupo y otra para otros (público). Los números se obtienen sumando valores: 4 (lectura), 2 (escritura), 1 (ejecución).
644: El estándar para archivos normales
- Propietario: 6 = 4+2 (lectura y escritura)
- Grupo: 4 (solo lectura)
- Otros: 4 (solo lectura)
- Ejemplo típico: archivos HTML, CSS, imágenes, scripts PHP (si no requieren escritura).
- Uso: Perfecto para archivos que el servidor web debe leer pero no modificar.
755: El estándar para directorios y scripts ejecutables
- Propietario: 7 = 4+2+1 (lectura, escritura y ejecución)
- Grupo: 5 = 4+1 (lectura y ejecución)
- Otros: 5 = 4+1 (lectura y ejecución)
- Ejemplo típico: carpetas de tu sitio (como
public_html), scripts CGI o binarios. - Uso: Permite que el servidor entre a las carpetas y ejecute programas, pero solo el propietario puede modificar.
777: El peligroso "acceso total"
- Propietario: 7
- Grupo: 7
- Otros: 7
- Significa: Todos pueden leer, escribir y ejecutar. Es como dejar la puerta de tu casa abierta de par en par.
- Uso: Solo en casos muy concretos (cachés temporales, uploads) y nunca de forma permanente. Es un riesgo de seguridad grave.
[WARNING] Nunca uses 777 en archivos PHP, de configuración o en la raíz de tu web. Es la puerta de entrada favorita de los atacantes.
Preguntas frecuentes sobre permisos en Linux
1. ¿Por qué mi web da error 500 o 403 después de subir archivos?
Son los errores más comunes por permisos incorrectos.
- Error 403 (Prohibido): El servidor no tiene permiso para leer el archivo o entrar a la carpeta. Suele ocurrir si un directorio tiene permisos 644 (sin ejecución) o si el archivo tiene 600.
- Error 500 (Error interno): Puede deberse a que un script necesita permisos de escritura (por ejemplo, para generar caché) y no los tiene. O a que un archivo ejecutable (como un binario) tiene permisos insuficientes.
Solución rápida: Para carpetas usa 755, para archivos estáticos 644. Si un script necesita escribir (como WordPress para subir imágenes), prueba con 755 en la carpeta de uploads y 644 en los archivos.
2. ¿Cuándo debo usar 777?
Solo en situaciones muy controladas y temporales:
- Carpetas de caché (ej.
wp-content/cacheen WordPress). - Directorios de subida de archivos (uploads) si el servidor necesita crear archivos automáticamente.
- Archivos de logs que el sistema escribe constantemente.
Pero incluso en esos casos, es mejor usar 755 o 775 (con grupo propietario del servidor web) si es posible. Si tu panel de control (cPanel, Plesk, Syspanel) te permite cambiar el propietario, hazlo.
[TIP] En cPanel y Plesk, muchas veces basta con dar permisos 755 a la carpeta y 644 a los archivos, y luego ajustar el propietario al usuario del servidor web (www-data, nobody, etc.).
3. ¿Cómo cambio los permisos desde cPanel?
En cPanel:
- Ve a Administrador de archivos.
- Selecciona el archivo o carpeta.
- Haz clic en Permisos (o Change Permissions).
- Marca las casillas según necesites o escribe el número (644, 755, etc.).
- Haz clic en Cambiar permisos.
Recuerda que si cambias permisos de una carpeta, puedes aplicar los cambios a todos los archivos y subcarpetas marcando la opción "Aplicar a subdirectorios".
4. ¿Y desde Plesk?
En Plesk:
- Ve a Administrador de archivos (dentro del dominio).
- Selecciona el archivo o carpeta.
- Haz clic en Permisos (icono de candado o en el menú).
- Elige el valor (644, 755, etc.) o marca las casillas.
- Confirma.
Plesk también permite cambiar el propietario y grupo desde el mismo panel, lo cual es útil para evitar usar 777.
5. ¿Qué pasa con Syspanel (antes HestiaCP)?
Si usas Syspanel (acceso por puerto 2106), el proceso es similar:
- Ingresa a tu panel (ej.
tudominio.com:2106). - Ve a Archivos o Administrador de archivos.
- Selecciona el archivo/carpeta.
- En el menú contextual, elige Permisos.
- Asigna el valor (644, 755, 777) y guarda.
Syspanel también te permite editar permisos desde la línea de comandos si tienes acceso SSH.
6. ¿Cómo cambio permisos por SSH?
Es el método más directo y potente. Conecta por SSH y usa el comando chmod:
# Para archivo: 644
chmod 644 nombre_archivo.php
# Para carpeta: 755
chmod 755 nombre_carpeta
# Para cambiar todo recursivamente (cuidado):
find /ruta -type f -exec chmod 644 {} \;
find /ruta -type d -exec chmod 755 {} \;
El primer comando cambia archivos, el segundo directorios. Así evitas poner permisos de ejecución a archivos que no lo necesitan.
[INFO] Nunca ejecutes
chmod -R 777 /o algo similar. Podrías dejar todo tu sistema inseguro.
7. ¿Qué permisos debe tener wp-config.php en WordPress?
Este archivo contiene las credenciales de la base de datos. Debe tener permisos 640 o 600 (solo lectura para el propietario). Si usas cPanel o Plesk, el propietario suele ser tu usuario, así que con 600 basta. Si el servidor web necesita leerlo (a veces pasa), usa 644, pero nunca 755 o 777.
8. ¿Por qué algunos plugins me piden permisos 777?
Muchos plugins (de caché, backup, SEO) piden permisos 777 para carpetas temporales. Es una mala práctica, pero a veces inevitable. Lo recomendable es:
- Primero intenta con 755 y cambia el propietario de la carpeta al usuario del servidor web.
- Si no funciona, usa 775 (permite escritura al grupo).
- Solo como último recurso, 777, pero revísalo periódicamente y cámbialo después.
9. ¿Cómo sé qué permisos tiene un archivo en Linux?
Usa el comando ls -l en SSH. Verás algo como:
-rw-r--r-- 1 usuario grupo 1024 ene 10 12:00 index.html
Los primeros 10 caracteres: el primero indica tipo (- archivo, d directorio), y los siguientes 9 son los permisos en grupos de 3 (propietario, grupo, otros). rw- es 6, r-- es 4, etc.
10. ¿Qué hago si no puedo cambiar permisos desde el panel?
Puede ser por restricciones del hosting (compartido). Prueba:
- Usar FTP con un cliente como FileZilla: haz clic derecho en el archivo/carpeta → Permisos de archivo.
- Contactar al soporte técnico. A veces el servidor tiene configuraciones especiales (como PHP como CGI) que requieren permisos específicos.
- Si usas Syspanel, verifica que tu usuario tenga permisos de administrador.
Tabla rápida de permisos recomendados
| Tipo de archivo | Permiso recomendado | Explicación breve |
|---|---|---|
| Archivos HTML, CSS, JS, imágenes | 644 | Lectura para todos, escritura solo tú |
| Directorios (carpetas) | 755 | Entrada permitida, modificación solo tú |
| Scripts PHP (normales) | 644 | El servidor los lee, no los escribe |
| Archivos de configuración (wp-config) | 600 o 640 | Solo tú debes leerlos |
| Carpetas de subida (uploads) | 755 o 775 | El servidor necesita escribir |
| Archivos de caché temporales | 755 (o 777 si es necesario) | Temporal y controlado |
| Binarios o scripts ejecutables | 755 | Ejecución para todos, escritura solo tú |
Errores comunes y cómo evitarlos
- Usar 777 en toda la web: Es el error más peligroso. Cualquier script malicioso podría modificar tus archivos.
- Poner 644 en una carpeta: El servidor no podrá listar su contenido, dando error 403.
- Poner 755 en un archivo PHP: Aunque funciona, no es necesario y puede ser un riesgo si el archivo es ejecutable.
- Olvidar cambiar permisos después de una instalación: Muchos CMS (WordPress, Joomla) dejan permisos 777 temporalmente. Revísalos tras la instalación.
[TIP] Una buena práctica es, después de subir archivos, ejecutar un comando SSH que ponga todos los archivos en 644 y carpetas en 755. Así mantienes una base segura.
Conclusión: Menos es más
Los permisos de archivos en Linux son una herramienta de seguridad fundamental. Recuerda la regla de oro: da solo los permisos mínimos necesarios. Para la mayoría de sitios web, usar 644 en archivos y 755 en directorios es suficiente. Si necesitas escritura, sube un nivel con cuidado.
Ya sea que uses cPanel, Plesk, Syspanel (puerto 2106) o línea de comandos, siempre verifica antes de aplicar cambios masivos. Y si tienes dudas, esta FAQ es tu guía de cabecera.
¿Sigues teniendo problemas? Revisa los logs de error del servidor (suele estar en error_log en la raíz de tu web) o contacta a tu proveedor de hosting. ¡La seguridad de tu sitio empieza con unos permisos bien configurados!
