Основы программирования в Win32API. Марапулец Ю.В. - 96 стр.

UptoLike

Составители: 

Не всем идентификаторам SID соответствуют имена. Например, в процес-
се подключения к системе пользователю присваивается произвольный SID,
идентифицирующий текущий рабочий сеанс. Этот SID не обладает соответст-
вующим ему именем. К функциям, которые могут оказаться полезными при
работе с SID, можно отнести: AnocateAndInitializeSid(), InitializeSid(),
FreeSid(), CopySid(), IsValidSid(), GetLengthSid() и EqualSid().
Элемент управления доступом (Access Control Element, АСЕ) – это запись,
которая указывает на то, что некоторый пользователь (или группа) обладает
определенным правом. Записи АСЕ бывают трех основных разновидностей:
ACCESS_ ALLOWED_ACE_TYPE, ACCESS_DENIED_ACE_TYPE и SYS-
TEM_AUDIT_ACE_TYPE. Запись АСЕ первого типа наделяет пользователя (или
группу) некоторым правом. Запись второго типа отменяет это право в отноше-
нии пользователя (или группы). Запись третьего типа обозначает необходи-
мость осуществления аудита при пользовании правом.
Список управления доступом (Access Control List, ACL) – это набор запи-
сей АСЕ. Дискреционный список DACL содержит записи типа
ACCESS_ALLOWED_ACE_TYPE и ACCESS_DENIED_ACE_TYPE, а систем-
ный список SACL содержит записи типа SYSTEM AUDIT_ACE_TYPE.
Каждая запись АСЕ, определяющая уровень доступа к объекту, облада-
ет 32-битной маской ACCESS_MASK. Эта маска является набором бит, ко-
торые определяют, какие права предоставляет или отменяет данная запись
АСЕ. Значение каждого бита определяется объектом, по отношению к кото-
рому применяется данная АСЕ. Например, набор прав, которые можно на-
значить в отношении семафора, отличается от набора прав, которые можно
назначить в отношении файла. Все же существуют четыре права, которые
можно назначить в отношении абсолютно любого защищаемого объекта,
это:
GENERIC_READ (обобщенное чтение);
GENERIC_WRITE (обобщенная запись);
GENERIC_EXECUTE (обобщенное исполнение);
GENERIC_ALL (все права).
Этим четырем правам всегда соответствуют одни и те же биты в маске
ACCESS_MASK любой записи АСЕ.
Каждый системный объект или файл обладает индивидуальным спи-
ском ACL. Чтобы обеспечить защиту данных, о существовании которых сис-
тема не имеет представления, необходимо самостоятельно сформировать
собственный список ACL и сохранить его специальным образом.
Система безопасности может использоваться для защиты объектов не-
скольких разных типов. Для доступа к дескриптору безопасности каждого из
этих объектов следует использовать разные функции (табл. 7.3).
Чаще всего, когда говорят о защите данных, имеют в виду файлы. На
самом деле, в некоторых ситуациях может потребоваться ограничение дос-
тупа к объектам других типов. В некоторых ситуациях может возникнуть
необходимость в создании ваших собственных объектов, доступ к которым
96
     Не всем идентификаторам SID соответствуют имена. Например, в процес-
се подключения к системе пользователю присваивается произвольный SID,
идентифицирующий текущий рабочий сеанс. Этот SID не обладает соответст-
вующим ему именем. К функциям, которые могут оказаться полезными при
работе с SID, можно отнести: AnocateAndInitializeSid(), InitializeSid(),
FreeSid(), CopySid(), IsValidSid(), GetLengthSid() и EqualSid().
     Элемент управления доступом (Access Control Element, АСЕ) – это запись,
которая указывает на то, что некоторый пользователь (или группа) обладает
определенным правом. Записи АСЕ бывают трех основных разновидностей:
ACCESS_ ALLOWED_ACE_TYPE, ACCESS_DENIED_ACE_TYPE и SYS-
TEM_AUDIT_ACE_TYPE. Запись АСЕ первого типа наделяет пользователя (или
группу) некоторым правом. Запись второго типа отменяет это право в отноше-
нии пользователя (или группы). Запись третьего типа обозначает необходи-
мость осуществления аудита при пользовании правом.
     Список управления доступом (Access Control List, ACL) – это набор запи-
сей АСЕ. Дискреционный список DACL содержит записи типа
ACCESS_ALLOWED_ACE_TYPE и ACCESS_DENIED_ACE_TYPE, а систем-
ный список SACL содержит записи типа SYSTEM AUDIT_ACE_TYPE.
     Каждая запись АСЕ, определяющая уровень доступа к объекту, облада-
ет 32-битной маской ACCESS_MASK. Эта маска является набором бит, ко-
торые определяют, какие права предоставляет или отменяет данная запись
АСЕ. Значение каждого бита определяется объектом, по отношению к кото-
рому применяется данная АСЕ. Например, набор прав, которые можно на-
значить в отношении семафора, отличается от набора прав, которые можно
назначить в отношении файла. Все же существуют четыре права, которые
можно назначить в отношении абсолютно любого защищаемого объекта,
это:
     – GENERIC_READ (обобщенное чтение);
     – GENERIC_WRITE (обобщенная запись);
     – GENERIC_EXECUTE (обобщенное исполнение);
     – GENERIC_ALL (все права).
     Этим четырем правам всегда соответствуют одни и те же биты в маске
ACCESS_MASK любой записи АСЕ.
     Каждый системный объект или файл обладает индивидуальным спи-
ском ACL. Чтобы обеспечить защиту данных, о существовании которых сис-
тема не имеет представления, необходимо самостоятельно сформировать
собственный список ACL и сохранить его специальным образом.
     Система безопасности может использоваться для защиты объектов не-
скольких разных типов. Для доступа к дескриптору безопасности каждого из
этих объектов следует использовать разные функции (табл. 7.3).
     Чаще всего, когда говорят о защите данных, имеют в виду файлы. На
самом деле, в некоторых ситуациях может потребоваться ограничение дос-
тупа к объектам других типов. В некоторых ситуациях может возникнуть
необходимость в создании ваших собственных объектов, доступ к которым
                                    96