Cuando configures permisos en tu servidor para subir archivos (ya sea mediante FTP, una aplicación web, o WordPress), es crucial garantizar el equilibrio entre funcionalidad y seguridad. Permisos demasiado abiertos pueden exponer tu servidor a riesgos de seguridad, mientras que permisos demasiado restrictivos pueden impedir la operación normal.
¿Qué son los permisos de archivos y carpetas?
Los permisos definen quién puede leer, escribir o ejecutar un archivo o carpeta en el sistema. Se representan numéricamente usando valores como 755 o 644, o simbólicamente como rwxr-xr-x.
| Permiso | Significado | Valor |
|---|---|---|
| r | Leer | 4 |
| w | Escribir | 2 |
| x | Ejecutar | 1 |
Cada archivo o carpeta tiene tres niveles de permisos:
- Propietario (Owner)
- Grupo (Group)
- Otros (Others)
Ejemplo: 755 significa:
- 7 (Propietario): Leer, escribir y ejecutar (rwx).
- 5 (Grupo): Leer y ejecutar (r-x).
- 5 (Otros): Leer y ejecutar (r-x).
Permisos recomendados para subir archivos
Carpetas para subir archivos (directorio de destino)
- Permiso recomendado: 755
- Propietario: Leer, escribir y ejecutar.
- Grupo y otros: Solo leer y ejecutar.
- Esto permite que el propietario pueda subir archivos y el servidor acceda al contenido sin dar privilegios de escritura a otros usuarios, lo que es más seguro.
Comando para ajustar permisos:
chmod 755 /ruta/de/la/carpeta
Archivos subidos
- Permiso recomendado: 644
- Propietario: Leer y escribir.
- Grupo y otros: Solo lectura.
- Este permiso asegura que los archivos subidos no puedan ser modificados por usuarios externos, pero aún pueden ser leídos por el servidor web.
Comando para ajustar permisos:
chmod 644 /ruta/del/archivo
Consideraciones especiales por entorno
En servidores web (Apache/Nginx con PHP)
Si tu aplicación web necesita subir archivos (como WordPress), la carpeta de destino debe ser accesible por el usuario del servidor web (por ejemplo, www-data o apache).
- Asegúrate de que el usuario del servidor web sea el propietario o esté en el grupo asignado.
- Usa permisos 755 para carpetas y 644 para archivos.
FTP o SFTP
Cuando subes archivos mediante FTP o SFTP, asegúrate de que el usuario FTP tenga permisos suficientes para escribir en la carpeta de destino. Configura permisos en la carpeta como 755 y verifica que el usuario pertenezca al grupo que controla esa carpeta.
Evitar permisos inseguros (777)
Aunque usar permisos 777 (leer, escribir y ejecutar para todos) puede solucionar problemas rápidamente, es una práctica insegura porque permite que cualquier usuario, incluso externos, puedan modificar o ejecutar archivos en tu servidor.
En su lugar:
- Usa permisos adecuados como 755 o 750.
- Ajusta la propiedad de las carpetas/archivos al usuario correcto:
chown usuario:grupo /ruta/de/la/carpeta
Conclusión
Para subir archivos, usa permisos 755 para carpetas y 644 para archivos. Evita permisos excesivamente abiertos como 777, y asegúrate de que la propiedad y configuración de PHP o del servidor web sean correctas. Con estas prácticas, tu servidor será funcional y seguro.
