Cтраница 1
Дескриптор защиты - это один из параметров, который дается при создании любого объекта. Каждый элемент разрешает или запрещает совершать определенный набор операций над объектом какому-либо отдельному человеку или группе. Например, файл может содержать дескриптор защиты, который определяет, что Иванов не имеет доступа к файлу вообще, Петров может читать файл, Сидоров может читать и записывать файл, а все члены группы XYZ могут прочитать только размер файла. [1]
![]() |
Пример дескриптора защиты для файла. [2] |
Для управления дескрипторами защиты существует множество вызовов Win32 API. Этот вызов заполняет заголовок. Если SID владельца неизвестен, он может быть найден по имени при помощи вызова LookupAccountSid. Затем он может быть вставлен в дескриптор защиты. То же самое справедливо для SID группы, если группа существует. [3]
![]() |
Структура маркера доступа. [4] |
Другим основным понятием является дескриптор защиты. У каждого объекта есть ассоциированный с ним дескриптор защиты, содержащий список пользователей и групп, имеющих доступ к данному объекту. [5]
![]() |
Основные функции Win32 API для управления защитой Функция Описание. [6] |
Наконец, когда объект создан, к нему можно присоединить новенький дескриптор защиты. [7]
![]() |
Пример дескриптора защиты для файла. [8] |
В основе большей части механизмов управления доступом в Windows 2000 лежат дескрипторы защиты. Как правило, когда процесс создает объект, он передает функции CreateProcess, CreateFile или другой функции в качестве одного из параметров дескриптор защиты. [9]
![]() |
Структура маркера доступа. [10] |
Другим основным понятием является дескриптор защиты. У каждого объекта есть ассоциированный с ним дескриптор защиты, содержащий список пользователей и групп, имеющих доступ к данному объекту. [11]
Другим основным понятием является дескриптор защиты. У каждого объекта есть ассоциированный с ним дескриптор защиты, содержащий список пользователей и групп, имеющих доступ к данному объекту. [12]
Критические секции подобны мьютексам, но отличаются тем, что они связаны с адресным пространством создавшего их потока. Поскольку критические секции не являются объектами ядра, у них нет дескрипторов или дескрипторов защиты и они не могут передаваться от одного процесса другому. [13]
Семафор создается при помощи API-функции CreateSemaphore, которая может задать для него начальное значение, а также установить максимальное значение. Семафоры представляют собой объекты в ядре и, таким образом, обладают дескрипторами или дескрипторами защиты. Копия дескриптора может быть получена с помощью функции Dupl i cateHandl e и передана другому процессу, в результате чего несколько процессов могут синхронизироваться, используя один семафор. [14]
Семафор создается при помощи API-функции CreateSemaphore, которая может задать для него начальное значение, а также установить максимальное значение. Семафоры представляют собой объекты в ядре и, таким образом, обладают дескрипторами или дескрипторами защиты. Копия дескриптора может быть получена с помощью функции Dupl icateHandle и передана другому процессу, в результате чего несколько процессов могут синхронизироваться, используя один семафор. [15]