¿Por qué los controles de acceso obligatorios (MAC) de Linux se superponen a los controles de acceso discrecional (DAC) de Unix en lugar de reemplazarlos?

Una de las muchas implementaciones de MAC en el mundo Linux es a través de SE Linux y trataría de responder la pregunta a la luz de lo mismo.
SE Linux es un módulo de mejora de seguridad implementado sobre Linux y proporciona medidas de seguridad adicionales.
La razón por la que se implementa sobre el DAC existente es para garantizar que los sistemas que ejecutan DAC tradicionales no se vean afectados con esta adición.
Para comprender mejor esto, uno tiene que entender desde el punto de vista de la arquitectura del núcleo. MAC se usa para confinar ciertos dominios y una vez confinada, toda la comunicación posible ocurre solo si nosotros (Admin) permitimos que suceda (posible a través de las reglas de permiso).
La función de MAC se produce solo después de que la llamada del sistema haya superado con éxito la prueba DAC, que podría verse mejor en la siguiente figura:

Fuente: http: //… C. Wright, C. Cowan, S. Smalley, J. Morris y G. Kroah-Hartman. “Módulos de seguridad de Linux: soporte de seguridad general para el kernel de Linux”
DAC todavía existe en cada distribución de Unix y MAC simplemente actúa como una adición en términos de seguridad.

Los DAC le permiten aumentar los controles obligatorios para ciertos usuarios, situaciones, aplicaciones, etc. En lugar de forzar el control de acceso máximo y ridículamente restrictivo en todos, puede limitarlo a lo que necesita.