структура PRIVILEGE_SET (wdm.h)
Структура PRIVILEGE_SET определяет набор привилегий безопасности. Он также используется, чтобы указать, какие привилегии, если таковые имеются, имеются у пользователя или группы, запрашивающей доступ к объекту.
Синтаксис
typedef struct _PRIVILEGE_SET {
ULONG PrivilegeCount;
ULONG Control;
LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY];
} PRIVILEGE_SET, *PPRIVILEGE_SET;
Члены
PrivilegeCount
Количество привилегий в наборе привилегий.
Control
Указывает флаг элемента управления, связанный с привилегиями. В настоящее время определен флаг элемента управления PRIVILEGE_SET_ALL_NECESSARY. Он указывает, что все указанные привилегии должны быть удержаны процессом, запрашивающим доступ. Если этот флаг не задан, то наличие каких-либо привилегий в маркере доступа пользователя предоставляет доступ.
Privilege[ANYSIZE_ARRAY]
Задает массив LUID_AND_ATTRIBUTES структур, описывающих привилегии набора. Для привилегий определяются следующие атрибуты.
Значение | Значение |
---|---|
SE_PRIVILEGE_ENABLED_BY_DEFAULT | Привилегия включена по умолчанию. |
SE_PRIVILEGE_ENABLED | Эта привилегия включена. |
SE_PRIVILEGE_USED_FOR_ACCESS | Привилегия использовалась для получения доступа к объекту или службе. Этот флаг используется для идентификации соответствующих привилегий в наборе, переданном клиентским приложением, который может содержать ненужные привилегии. |
Комментарии
Привилегия используется для более строгого управления доступом к объекту или службе, чем обычно с дискреционным контролем доступа. Системный менеджер использует привилегии для управления тем, какие пользователи могут управлять системными ресурсами. Приложение использует привилегии при изменении ресурса всей системы, например при изменении системного времени или завершении работы системы.
Требования
Требование | Значение |
---|---|
Заголовок | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |