Права доступа и маски доступа

Право доступа — это битовый флаг, соответствующий определенному набору операций, которые поток может выполнять с защищаемым объектом. Например, раздел реестра имеет право доступа KEY_SET_VALUE, что соответствует возможности потока задавать значение в разделе . Если поток пытается выполнить операцию с объектом, но не имеет необходимых прав доступа к объекту, система не выполняет операцию.

Маска доступа — это 32-разрядное значение, биты которого соответствуют правам доступа, поддерживаемым объектом . Все защищаемые объекты Windows используют формат маски доступа , включающий биты для следующих типов прав доступа:

Когда поток пытается открыть дескриптор для объекта, поток обычно задает маску доступа для запроса набора прав доступа. Например, приложение, которое должно задать и запросить значения раздела реестра, может открыть раздел с помощью маски доступа для запроса KEY_SET_VALUE и KEY_QUERY_VALUE прав доступа.

В следующей таблице показаны функции, которые управляют сведениями о безопасности для каждого типа защищаемого объекта.

Тип объекта Функции дескриптора безопасности
Файлы или каталоги в файловой системе NTFS GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Именованные каналыАнонимные каналы
GetSecurityInfo, SetSecurityInfo
Буферы экрана консоли Не поддерживается.
Процессыпотоков
GetSecurityInfo, SetSecurityInfo
Объекты сопоставления файлов GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Маркеры доступа в Azure Active Directory SetKernelObjectSecurity, GetKernelObjectSecurity
Объекты управления окнами (оконные станции и настольные компьютеры) GetSecurityInfo, SetSecurityInfo
Разделы реестра GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Службы Windows GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Локальные или удаленные принтеры GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Общие сетевые ресурсы GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Объекты межпроцессной синхронизации (события, мьютексы, семафоры и таймеры ожидания) GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Объекты задания GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo