Permisos en los Sistemas Operativos: de POSIX y ACLs a la seguridad moderna
Los permisos de archivo son el pilar fundamental de la seguridad informática. Desde los primeros sistemas Unix de los años 70 hasta Windows 11, macOS Sequoia y Android 15, la evolución ha pasado de simples bits de permiso (lectura, escritura, ejecución) a modelos granulares de control de acceso que combinan listas de control (ACLs), sandboxing de aplicaciones y protección contra ransomware.
Windows: de DACL a Controlled Folder Access
Windows utiliza un modelo de Listas de Control de Acceso (ACLs) basado en identificadores de seguridad (SIDs). Cada archivo, carpeta, clave del registro u objeto del sistema tiene un DACL (Discretionary Access Control List) que define qué usuarios y grupos pueden acceder y cómo, y un SACL (System Access Control List) para auditoría de accesos.
Permisos básicos vs avanzados
Los permisos «básicos» de Windows son combinaciones predefinidas de permisos avanzados:
- Lectura: Ver contenido y propiedades.
- Escritura: Modificar contenido y propiedades.
- Ejecución: Ejecutar archivos o atravesar carpetas.
- Modificación: Lectura, escritura, ejecución y eliminación.
- Control total: Modificación más cambio de permisos y propiedad.
Los permisos avanzados permiten granularidad extrema: lectura de atributos, escritura de permisos, eliminación de subcarpetas, toma de posesión, etc.
Configuración en Windows 11
- Haz clic derecho en el archivo o carpeta > Propiedades > pestaña Seguridad.
- Para permisos básicos, edita directamente la lista de usuarios y grupos.
- Para permisos avanzados, haz clic en Configuración avanzada.
Herramienta de línea de comandos moderna:
icaclsreemplaza acaclsobsoleto. Ejemplo para otorgar control total:icacls "C:\Documentos" /grant Usuario:(F)Novedad en Windows 11: Controlled Folder Access (Acceso controlado a carpetas) protege carpetas específicas contra modificaciones no autorizadas, incluso por aplicaciones con permisos de usuario. Se configura en Configuración > Privacidad y seguridad > Seguridad de Windows > Protección contra virus y amenazas > Configuración de antivirus y protección contra amenazas.
Linux: de POSIX a ACLs extendidas
Linux heredó el modelo de permisos POSIX de Unix: tres clases de usuarios (propietario, grupo, otros) con tres permisos cada uno (lectura r, escritura w, ejecución x). Este modelo es elegante pero limitado: no permite asignar permisos a usuarios específicos fuera del grupo propietario.
Permisos POSIX básicos
La cadena drwxr-xr-- se descompone así:
d: directoriorwx(propietario): lectura, escritura, ejecuciónr-x(grupo): lectura, ejecuciónr--(otros): solo lectura
Los valores numéricos: r=4, w=2, x=1. Por ejemplo, chmod 754 archivo asigna rwx al propietario (7), r-x al grupo (5) y r-- a otros (4).
POSIX ACLs extendidas
Desde hace décadas, Linux soporta ACLs POSIX que superan las limitaciones del modelo básico:
- Usuarios y grupos nombrados: Permisos específicos para usuarios o grupos individuales sin modificar el grupo propietario.
- ACLs por defecto en directorios: Los archivos creados dentro heredan automáticamente los permisos definidos.
- Máscara de permisos: Limita los permisos efectivos de entradas ACL.
Comandos:
getfacl archivo.txt — Muestra las ACLs de un archivo.
setfacl -m u:usuario:rw archivo.txt — Otorga lectura y escritura a un usuario específico.
setfacl -d -m g:grupo:rwx directorio/ — Establece ACL por defecto para nuevos archivos en el directorio.
Nota: No todos los sistemas de archivos soportan ACLs. Ext4, XFS, Btrfs y ZFS sí; FAT32 y exFAT no.
Umask y herencia
El valor umask (máscara de creación de archivos) determina los permisos por defecto de nuevos archivos y directorios. Por ejemplo, umask 022 crea archivos con 644 (rw-r--r--) y directorios con 755 (rwxr-xr-x).
macOS: POSIX + ACLs NFSv4 + protecciones del sistema
macOS utiliza un sistema dual: permisos POSIX tradicionales y ACLs NFSv4 (desde Mac OS X 10.4) sobre el sistema de archivos APFS (desde macOS High Sierra en 2017).
Permisos POSIX en macOS
Funcionan idénticamente a Linux: propietario, grupo, otros con permisos rwx. Se gestionan desde Finder > Archivo > Obtener información > Compartir y permisos.
ACLs NFSv4 en macOS
Las ACLs de macOS son más ricas que POSIX ACLs:
- Permisos granulares: lectura, escritura, ejecución, anexar, eliminar, listar, buscar.
- Herencia: Los permisos pueden propagarse automáticamente a subdirectorios y archivos.
- Orden de evaluación: Las entradas ACL se evalúan secuencialmente; la primera que satisface o deniega el acceso determina el resultado.
Desde Terminal:
ls -le archivo — Muestra ACLs extendidas.
chmod +a "grupo allow read,write" archivo — Añade una entrada ACL.
Protecciones adicionales: macOS incluye System Integrity Protection (SIP) que protege archivos del sistema incluso contra el usuario root, y Gatekeeper que controla qué aplicaciones pueden ejecutarse. Estas son capas de seguridad adicionales independientes de los permisos de archivo.
Android: del modelo «todo o nada» al sandbox de privacidad
Android ha evolucionado drásticamente desde su lanzamiento en 2008. El modelo de permisos ha pasado de conceder todos los permisos en la instalación a un sistema granular de permisos en tiempo de ejecución.
Evolución del modelo de permisos
- Android 5.0 y anteriores: Permisos solicitados en la instalación. Aceptar todos o no instalar.
- Android 6.0 (Marshmallow, 2015): Introducción de permisos en tiempo de ejecución. El usuario concede o deniega individualmente.
- Android 10 (2019): Permisos de ubicación con opción «Solo mientras se usa la aplicación».
- Android 11 (2020): Permisos de una sola vez para ubicación, micrófono y cámara.
- Android 13 (2022): Notificaciones como permiso explícito.
- Android 14 (2023): Mejoras en el sandbox de privacidad y restricciones de acceso a fotos.
- Android 15 (2024): Privacidad reforzada con Private Space (espacio privado para aplicaciones sensibles), mejoras en el sandbox de privacidad y permisos más granulares para sensores.
Tipos de permisos en Android
- Normales: Bajo riesgo, concedidos automáticamente (acceso a Internet, estado de red).
- Peligrosos: Alto riesgo, requieren aprobación explícita (cámara, micrófono, contactos, ubicación, SMS).
- Especiales: Impacto significativo, configuración manual en ajustes (ventanas superpuestas, acceso a todos los archivos, administrador de dispositivos).
Gestión de permisos en Android 15
- Al usar la aplicación: Diálogo emergente cuando la app necesita el permiso por primera vez.
- Desde ajustes de la app: Configuración > Aplicaciones > [App] > Permisos.
- Gestor de permisos: Configuración > Privacidad > Permisos — vista global por tipo de permiso.
- Panel de privacidad: Configuración > Privacidad > Panel de privacidad — resumen de uso de permisos con indicadores visuales (puntos verdes en la barra de estado cuando cámara o micrófono están activos).
SELinux: Android utiliza SELinux en modo enforcing, que añade una capa de control de acceso obligatorio (MAC) independiente de los permisos de usuario. Incluso si una app tiene permisos de usuario, SELinux puede restringir sus acciones a nivel de sistema.
Listado comparativo: Evolución de los permisos en los sistemas operativos
Windows
- En 2000/XP: DACL básico, permisos heredados de NTFS.
- En 2015: Introducción de Windows Hello y autenticación biométrica.
- En 2026: ACLs granulares con
icacls, Controlled Folder Access, integración con Microsoft Defender, permisos basados en identidad (Azure AD). - Modelo: ACLs con SIDs, herencia de contenedores, auditoría SACL.
Linux
- En 1970s: Modelo POSIX básico (rwx/ugo).
- En 2000s: POSIX ACLs extendidas (
getfacl/setfacl), SELinux (NSA, 2000), AppArmor. - En 2026: ACLs por defecto, integración con systemd-homed para cifrado de directorios de usuario, SELinux/AppArmor como estándar en distribuciones enterprise.
- Modelo: POSIX + ACLs extendidas + MAC (SELinux/AppArmor).
macOS
- En 2001 (Mac OS X): Permisos POSIX sobre HFS+.
- En 2005 (10.4): Introducción de ACLs NFSv4.
- En 2017 (High Sierra): APFS como sistema de archivos por defecto.
- En 2026: POSIX + ACLs NFSv4 + SIP + Gatekeeper + FileVault (cifrado de disco).
- Modelo: Dual POSIX/ACLs con protecciones del sistema integradas.
Android
- En 2008: Permisos en instalación (todo o nada).
- En 2015 (6.0): Permisos en tiempo de ejecución.
- En 2023 (14): Sandbox de privacidad, restricción de acceso a fotos.
- En 2024 (15): Private Space, permisos granulares para sensores, indicadores de privacidad visuales.
- Modelo: Permisos de usuario + SELinux MAC + sandboxing de aplicaciones.
Conclusión
El modelo de permisos ha evolucionado desde las simples combinaciones de lectura/escritura/ejecución de Unix hasta sistemas complejos que combinan control de acceso discrecional (DAC), control de acceso obligatorio (MAC), sandboxing y cifrado. Ningún sistema operativo moderno se limita ya al modelo POSIX básico: Windows utiliza ACLs granulares con herencia, Linux ha adoptado ACLs extendidas y MAC, macOS combina POSIX con ACLs NFSv4 y protecciones del sistema, y Android ha transformado radicalmente su modelo de permisos para proteger la privacidad del usuario.
Entender estas diferencias no es solo académico: un administrador de sistemas que gestiona entornos heterogéneos debe conocer cómo cada plataforma implementa el control de acceso para aplicar políticas de seguridad coherentes. La convergencia conceptual es clara —todos los sistemas buscan granularidad y protección contra amenazas modernas— pero las implementaciones siguen siendo específicas de cada plataforma.
