Структура ACL (winnt.h)
Структура ACL является заголовком списка управления доступом (ACL). Полный ACL состоит из структуры ACL , за которой следует упорядоченный список из нуля или нескольких записей управления доступом (ACE).
Синтаксис
typedef struct _ACL {
BYTE AclRevision;
BYTE Sbz1;
WORD AclSize;
WORD AceCount;
WORD Sbz2;
} ACL;
Члены
AclRevision
Указывает уровень редакции ACL. Это значение должно быть ACL_REVISION, если ACL не содержит ACE для конкретного объекта. В этом случае это значение должно быть ACL_REVISION_DS. Все ACE в списке управления доступом должны находиться на одном уровне редакции.
Sbz1
Задает нулевой байт заполнения , который выравнивает элемент AclRevision по 16-разрядной границе.
AclSize
Задает размер списка ACL в байтах. Это значение включает структуру ACL , все ACE и потенциальную неиспользуемую память.
AceCount
Указывает количество ACE, хранящихся в списке ACL.
Sbz2
Задает два 0 байта заполнения , которые выравнивают структуру ACL по 32-разрядной границе.
Комментарии
ACL включает последовательный список из нуля или нескольких ACE. Отдельные ACE в списке ACL нумеруются от 0 до n, где n+1 — количество ACE в списке ACL. При редактировании ACL приложение ссылается на ACE в ACL по индексу ACE.
Существует два типа ACL: дискреционный и системный.
Список управления доступом на уровне пользователей (DACL) контролируется владельцем объекта или любым лицом, которому предоставлен доступ WRITE_DAC к объекту. Он указывает доступ конкретных пользователей и групп к объекту. Например, владелец файла может использовать DACL для управления тем, какие пользователи и группы могут и не могут иметь доступ к файлу.
Объект также может иметь связанные с ним сведения о безопасности системного уровня в виде списка управления доступом системы (SACL), управляемого системным администратором. SACL позволяет системным администраторам проводить аудит любых попыток получения доступа к объекту.
Список определенных в настоящее время структур ACE см. в разделе ACE.
Четвертая структура ACE, SYSTEM_ALARM_ACE, в настоящее время не поддерживается.
Структура ACL должна рассматриваться как непрозрачная, и приложения не должны пытаться работать с ее членами напрямую. Чтобы обеспечить семантическую правильность списков управления доступом, приложения могут использовать функции, перечисленные в разделе См. также, для создания списков управления доступом и управления ими.
Каждая структура ACL и ACE начинается с границы DWORD .
Максимальный размер ACL, включая его ACL, составляет 64 КБ.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows Server 2003 [только классические приложения] |
Верхняя часть | winnt.h (включая Windows.h) |