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


Порядок acES в DACL

Когда процесс пытается получить доступ к защищаемому объекту, системные шаги по записи управления доступом (ACEs) в списке управления доступом объекта (DACL) до тех пор, пока не будут найдены элементы управления доступом, которые разрешают или запрещают запрошенный доступ. Права доступа, разрешающие DACL, могут отличаться в зависимости от порядка ACL в DACL. Следовательно, операционная система Windows XP определяет предпочтительный порядок для acES в DACL защищаемого объекта. Предпочтительный порядок предоставляет простую платформу, которая гарантирует, что доступ к ACE фактически запрещает доступ. Дополнительные сведения о алгоритме системы для проверки доступа см. в разделе Как управление доступом К объектууправления доступом для DACLs.

Для Windows Server 2003 и Windows XP правильный порядок acEs усложняется введением определенных объектов ACEs и автоматическим наследованием.

Ниже описан предпочтительный порядок.

  1. Все явные acES помещаются в группу перед любыми унаследованными acEs.
  2. В группе явных acEs доступ отказано в доступе, доступ к acEs помещается перед доступом разрешенных ACEs.
  3. Унаследованные acES помещаются в порядок, в котором они наследуются. AcEs, унаследованные от родительского объекта дочернего объекта, приходят сначала, а затем acEs, унаследованные от бабушки и дедушки, и т. д. вверх по дереву объектов.
  4. Для каждого уровня наследуемых acEs доступ отказано в доступе, доступ к acEs помещается перед доступом разрешенных ACEs.

Конечно, в ACL требуются не все типы ACE.

Такие функции , как AddAccessAllowedAceEx и AddAccessAllowedObjectAce добавить ACE в конец ACL. Это ответственность вызывающего абонента, чтобы убедиться, что acES добавляются в правильном порядке.