Права безопасности и доступа для настольных компьютеров
Безопасность позволяет управлять доступом к классическим объектам. Дополнительные сведения о безопасности см. в разделе Access-Controlмодели.
Вы можете указать дескриптор безопасности для классического объекта при вызове функции CreateDesktop или CreateDesktopEx. При указании NULL рабочий стол получает дескриптор безопасности по умолчанию. Списки управления доступом в дескрипторе безопасности по умолчанию для рабочего стола приходят из родительской станции окон.
Чтобы получить или задать дескриптор безопасности объекта станции окна, вызовите функции GetSecurityInfo и SetSecurityInfo.
При вызове функции OpenDesktop или OpenInputDesktop система проверяет запрошенные права доступа на дескриптор безопасности объекта.
Допустимые права доступа для классических объектов включают стандартные права доступа и некоторые права доступа для определенных объектов. В следующей таблице перечислены стандартные права доступа, используемые всеми объектами.
Ценность | Значение |
---|---|
DELETE (0x00010000L) | Требуется для удаления объекта. |
READ_CONTROL (0x00020000L) | Требуется для чтения сведений в дескрипторе безопасности для объекта, не включая сведения в SACL. Чтобы прочитать или записать SACL, необходимо запросить право доступа ACCESS_SYSTEM_SECURITY. Дополнительные сведения см. в разделе права доступа SACL. |
SYNCHRONIZE (0x00100000L) | Не поддерживается для классических объектов. |
WRITE_DAC (0x00040000L) | Требуется изменить DACL в дескрипторе безопасности для объекта. |
WRITE_OWNER (0x00080000L) | Требуется изменить владельца в дескрипторе безопасности для объекта. |
В следующей таблице перечислены права доступа для конкретного объекта.
Право доступа | Описание |
---|---|
DESKTOP_CREATEMENU (0x0004L) | Требуется создать меню на рабочем столе. |
DESKTOP_CREATEWINDOW (0x0002L) | Требуется для создания окна на рабочем столе. |
DESKTOP_ENUMERATE (0x0040L) | Требуется для перечисления рабочего стола. |
DESKTOP_HOOKCONTROL (0x0008L) | Требуется установить любой из крючков окна. |
DESKTOP_JOURNALPLAYBACK (0x0020L) | Требуется для воспроизведения журнала на рабочем столе. |
DESKTOP_JOURNALRECORD (0x0010L) | Требуется для записи журнала на рабочем столе. |
DESKTOP_READOBJECTS (0x0001L) | Требуется для чтения объектов на рабочем столе. |
DESKTOP_SWITCHDESKTOP (0x0100L) | Требуется для активации рабочего стола с помощью функции SwitchDesktop. |
DESKTOP_WRITEOBJECTS (0x0080L) | Требуется для записи объектов на рабочем столе. |
Ниже приведены универсальные права доступа для классического объекта, содержащегося в интерактивной станции окон сеанса входа пользователя.
Право доступа | Описание |
---|---|
GENERIC_READ |
DESKTOP_READOBJECTS STANDARD_RIGHTS_READ |
GENERIC_WRITE |
DESKTOP_CREATEWINDOW DESKTOP_HOOKCONTROL DESKTOP_JOURNALPLAYBACK DESKTOP_JOURNALRECORD DESKTOP_WRITEOBJECTS STANDARD_RIGHTS_WRITE |
GENERIC_EXECUTE |
STANDARD_RIGHTS_EXECUTE |
GENERIC_ALL |
DESKTOP_CREATEWINDOW DESKTOP_ENUMERATE DESKTOP_HOOKCONTROL DESKTOP_JOURNALPLAYBACK DESKTOP_JOURNALRECORD DESKTOP_READOBJECTS DESKTOP_SWITCHDESKTOP DESKTOP_WRITEOBJECTS STANDARD_RIGHTS_REQUIRED |
Вы можете запросить ACCESS_SYSTEM_SECURITY права доступа к классическому объекту, если вы хотите прочитать или записать SACL объекта. Дополнительные сведения см. в Access-Control списков (ACL) и права доступа SACL.