Дискреционное управление доступом (DAC)
DAC — это избирательный метод управления доступом, при котором владелец ресурса самостоятельно определяет права доступа других пользователей.
Mechanisms: 1. Object Ownership. 2. Permissions (RWX). 3. Access Control Lists. 4. Identity-based authorization. Comparison: DAC (Flexible) vs MAC (Strict/Centralized).
graph LR
Center["Дискреционное управление доступом (DAC)"]:::main
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Простыми словами
Это как твой рюкзак. Только ты решаешь, кому разрешить достать из него учебник, а кому — нет. Ты можешь разрешить другу посмотреть картинки, но запретить что-то в него класть. Ты сам управляешь доступом к своим вещам.
🤓 Expert Deep Dive
Важным механизмом в реализации DAC является 'Наследование разрешений'. Когда вы создаете папку и даете права группе 'Менеджеры', все файлы внутри этой папки автоматически получают те же права. Однако в сложных системах (например, Active Directory) конфликты разрешений могут быть запутаны: правило 'Запретить' обычно имеет приоритет над правилом 'Разрешить'. Системы DAC также уязвимы к атакам 'Confused Deputy', когда привилегированная программа выполняет действия по поручению менее привилегированного пользователя, обходя ограничения доступа.