Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Дескриптор безопасности инициализируется функцией InitializeSecurityDescriptor



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

Дескриптор безопасности объекта хранит в себе следующую информацию;

- SID (security identifier) владельца объекта;

- SID основной группы владельца объекта;

- список разграничительного контроля доступа (Discretionary Access Control List, DACL-дискреционный список управления доступом);

- системный список управления доступом (System Access Control List, SACL);

- управляющая информация (например, сведения о том, как списки ACL пере­дают информацию дочерним дескрипторам безопасности);

Список DACL определяет, кто обладает (и кто не обладает) правом доступах объекту. Список SACL определяет, информация о каких действиях вносится в файл журнала.

Функция InitializeSecurityDescriptor инициализирует указанный вами дескриптор таким образом, что в нем отсутствует DASL, SACL, владелец и основная группа владельца, а все управляющие флаги установлены в значение FALSE, При этом дескриптор имеет абсолютный формат. Что это значит? Дескриптор в абсолютном (absolute) формате содержит лишь указатели на информацию, связанную с защитой объекта. В отличие от этого дескриптор в относительном (self-relative) формате включает в себя всю необходимую информацию, которая располагается в памяти последовательно поле за полем. Таким образом, абсолютный дескрип­тор нельзя записать на диск (так как при последующем чтении его с диска все указатели потеряют смысл), а относительный дескриптор — можно.

Windows позволяет преобразовывать абсолютный дескриптор в относительную форму и обратно. Обычно это требуется лишь в случае, если вы записываете дес­криптор на диск и считываете дескриптор с диска. Системные вызовы, требую­щие передачи указателя на дескриптор безопасности, работают только с дескрип­торами в абсолютном формате.

Преобразование осуществляется при помощи вызовов MakeSelfRelativeSD и MakeAbsoluteSD. Преобразовать абсолютную форму в относительную несложно. Однако обратное преобразование (из относительной в абсолютную) обычно выполняется в несколько этапов.

Функции SetSecurityDescriptorOwner и SetSecurityDescriptorGroup связывают SID с дескрипторами безопасности. Списки ACL инициализируются с помощью функции InitializeAcl и затем связываются с дескриптором безопасности функциями SetSecurityDescriptorDacl или SetSecurityDescriptorSacl.





Дата публикования: 2015-11-01; Прочитано: 799 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...