Защита файлов и каталогов с помощью NTFS. Права доступа. Разрешения NTFS. Кто управляет DACL и SACL, страница 7

*  Если наследуемая запись в ACL преобразуется в эффективную запись для нового объекта, происходит сопоставление всех родовых прав доступа соответствующим стандартным и специфичным правам доступа. Аналогично этому указанные в исходной записи идентификаторы родовой группы CREATOR_OWNER заменяются на идентификатор конкретного пользователя или группы. И наоборот, если наследуемая запись не относится к самому создаваемому объекту, а будет только передаваться им «по наследству» (установлен флаг INHERIT_ONLY_ACE), то содержащиеся в записи родовые права доступа и идентификаторы групп не меняются, дабы не нарушать наследование при создании вложенных объектов следующего поколения. Наконец, если объект-контейнер наследует родовую запись прав доступа, являющуюся одновременно и эффективной для самого объекта и наследуемой создаваемыми в нем объектами, наследуются две записи. Одна запись (с флагом INHERIT_ONLY_АСЕ) будет только передаваться по наследству и содержать информацию о родовых типах доступа и группах, а другая будет эффективной для объекта — ив ней «родовая» информация должна быть конкретизирована.

Приведем пример. Допустим, для папки PUBLIC на разделе с NTFS установлены разрешения:

Учетная запись                   Разрешения

Users                                  Add&Read (RWX) (RX)

CREATOR_OWNER             Change (RWXD) (RWXD)

Заметьте: вторая запись содержит информацию о родовой группе. Что произойдет с этой записью при ее наследовании объектом-контейнером и простым объектом, например, при создании пользователем User1 вложенной папки USER1 и файла USER1.TXT?

По правилам наследования при создании вложенной папки запись о правах доступа группы CREATOR_OWNER из списка контроля доступа папки PUBLIC должна преобразоваться в две записи: наследуемую объектами следующего поколения запись для группы CREATOR_OWNER и эффективную для самой папки USER1 запись, в которой CREATOR_OW-NER сопоставляется пользователю User1.

Таким образом, папка USER1 получит следующие разрешения NTFS:

Учетная запись                               Разрешения

Users                                                  Add&Read (RWX) (RX)

CREATOR_OWNER                        Change (RWXD) (RWXD)

User1                                                 Special Access (RWXD)* (Not Specified)

Отметим еще раз, что полученные таким образом разрешения пользователя User1 являются эффективными, т. е. действуют только на папку USER1 и не наследуются создаваемыми в папке USER1 вложенными папками (эти разрешения в диалоговом окне DirectoryPermissionsпрограмм NT Explorer или File Manager помечаются звездочкой). Поэтому, если пользователь User2 создаст в папке USER1 новую папку USER2, в списке контроля доступа этой папки уже не будет записи о разрешениях пользователя User1, а именно:

Учетная запись                               Разрешения

Users                                                  Add&Read (RWX) (RX)

CREATOR_OWNER                        Change (RWXD) (RWXD)

User2                                                 Special Access (RWXD)' (Not Specified)

С файлом ситуация проще. Поскольку это простой объект, запись о правах доступа группы CREATOR_OWNER из списка контроля доступа папки PUBLIC будет эффективной для файла USER1.TXT. Поэтому идентификатор группы CREATOR_OWNER в этом случае заменяется на идентификатор пользователя User1. Следовательно, для файла USER1.TXT будут установлены разрешения NTFS:

Учетная запись                               Разрешения

Users                                                  Read (RX)

User1                                                 Change (RWXD)

Разберемся теперь с тем, как работают эти правила наследования прав доступа в файловой системе NTFS при копировании и перемещении файлов и папок. Заметим, что операции копирования и перемещения между разделами (т.е. с одного логического диска на другой) фактически приводят к созданию нового файла или папки. Поэтому правила наследования в обоих случаях одинаковы: