Назад | Перейти на главную страницу

Почему Windows обрабатывает все дочерние объекты NTFS при изменении родительского ACL?

Почему Windows обрабатывает все дочерние объекты NTFS при изменении родительского ACL?

Я ожидал бы такого поведения, если бы я поставил флажок «Заменить все разрешения для дочерних объектов ...», но даже если этот флажок не установлен, Windows обработает всех дочерних объектов.

Любой дочерний объект, который настроен на наследование разрешений от родительского объекта, должен быть обработан. Явно определенные разрешения для дочерних объектов не затрагиваются.

Параметр «Заменить разрешения для всех дочерних объектов» не только распространяет разрешения на все дочерние объекты, но также удаляет и заменяет любые явно определенные разрешения для всех дочерних объектов.

В Windows права доступа к файлам не наследуются динамически. То есть, когда делается попытка открыть файл, Windows смотрит только на ACL этого файла, а не на ACL каталогов в дереве, содержащем файл. Это означает, что при изменении ACL каталога Windows должна немедленно обновить разрешения для всех файлов и подкаталогов в затронутом каталоге.

В Windows наследовать настройка в ACL не указывает на какую-либо форму динамического наследования. Это просто флаг, указывающий на то, что при изменении ACL родительского каталога все файлы и подкаталоги в дереве, для которых установлен флаг наследования, также должны быть обновлены.

Те из нас, кто достаточно взрослый, чтобы помнить о Novell NetWare, помнят, что это было одним из больших отличий от NetWare, потому что в NetWare наследование разрешений является (было?) Динамическим. В то время было много споров о том, какой подход лучше, хотя история сделала этот вопрос спорным. Динамические списки контроля доступа требуют, чтобы операционная система проверяла списки контроля доступа каждого родительского каталога во время попытки открытия файла, но изменение списков контроля доступа происходит быстро. В Windows для открытия файла требуется проверка только одного ACL, но, как вы обнаружили, это означает, что изменение ACL каталога может быть медленным.

По умолчанию дочерние папки наследуют разрешения от родительской папки. Если предположить область действия по умолчанию, когда вы добавляете / изменяете разрешения для родительской папки (этой папки, подпапок и файлов), тогда все дочерние папки будут обновлены, чтобы отразить изменение разрешений в родительской папке.

Флажок, о котором вы говорите, является «одноразовой» операцией, которая удалит все явно определенные разрешения для всех дочерних папок и заменит их разрешениями, наследуемыми от родительского, и повторно включит наследование разрешений для дочерних папок.