Servidores

Permisos de archivos en Linux y riesgos de una mala configuración

Los permisos de Linux determinan qué usuarios y procesos pueden leer, modificar o ejecutar archivos.

Ilustración técnica sobre permisos de archivos en linux y riesgos de una mala configuración

Los permisos de Linux determinan qué usuarios y grupos pueden leer, modificar o ejecutar un archivo. Aplicar permisos máximos a todo el proyecto puede ocultar el problema inmediato, pero aumenta el impacto de un proceso comprometido.

Qué problema resuelve este concepto

Los permisos de Linux determinan qué usuarios y procesos pueden leer, modificar o ejecutar archivos.

Propietario, grupo y modo

Parte de quién necesita cada operación y separa el código, los datos y los archivos temporales. Un proceso web que solo lee plantillas no debería escribir en todo el árbol.

Directorios que necesitan escritura

Identifica cargas, cachés y temporales, y limita la escritura al usuario del servicio. Revisa enlaces simbólicos, copias y archivos de configuración con credenciales. La carpeta pública no debe convertirse en un almacén de secretos.

Comprobación práctica

Prueba con la cuenta del proceso qué rutas puede leer y escribir, compara el resultado con lo que la aplicación necesita y repite la comprobación después de una migración. Los permisos no sustituyen validación de entradas, actualización ni gestión de claves. En un VPS, forman parte de la administración del sistema.

Revisar permisos después de una migración

Una migración puede cambiar propietarios, grupos y rutas aunque la aplicación parezca funcionar. Comprueba lectura de plantillas, escritura de cargas y acceso a archivos de configuración con una cuenta de servicio controlada. Evita corregir todo con permisos 777: puede ocultar una incompatibilidad y ampliar el impacto de una intrusión. El resultado debe quedar documentado junto con los directorios que deliberadamente admiten escritura.

Permisos y procesos auxiliares

Los trabajadores PHP, tareas cron y procesos de despliegue pueden usar usuarios distintos. Documenta qué proceso escribe cada ruta y evita compartir una cuenta privilegiada entre aplicación y mantenimiento. Si el despliegue cambia propietarios, vuelve a comprobar cargas y cachés. Un permiso correcto es el mínimo que permite la operación, no el que hace desaparecer cualquier error de escritura.

El resultado debe poder explicarse en términos de usuarios y operaciones: quién lee, quién escribe y quién ejecuta. Si la respuesta es “todos”, la configuración necesita revisión. Esa claridad permite detectar cambios inesperados sin depender de una lista de permisos memorizada.

Permisos y cuentas de servicio

El modelo propietario, grupo y otros permite expresar quién puede leer, escribir o ejecutar un archivo, pero la decisión debe partir del proceso que lo necesita. Un servidor web que solo debe leer una configuración no debería poder modificarla; una carpeta de subidas requiere un tratamiento distinto de un directorio que contiene código ejecutable.

Los cambios deben probarse con la cuenta real del servicio y documentarse. Permisos demasiado restrictivos rompen tareas legítimas y permisos amplios facilitan que un proceso comprometido altere otros componentes. Revisa también propietarios, grupos, enlaces simbólicos y permisos de directorios, porque poder atravesar una ruta puede ser tan relevante como leer un archivo.