Поделиться через


Маски доступа и права доступа

Право доступа — это битовый флаг, соответствующий определенному набору операций, которые поток может выполнять в защищаемом объекте. Например, раздел реестра имеет право 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
Объекты синхронизации interprocess (события, мьютексы, семафоры и ожидающие таймеры) GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo
Объекты задания GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo