Почему Windows обрабатывает все дочерние объекты NTFS при изменении родительского ACL?
Я ожидал бы такого поведения, если бы я установил флажок «Заменить все разрешения дочернего объекта ...», но даже если этот флажок не установлен, Windows будет обрабатывать все дочерние элементы.
Ответы:
В Windows права доступа к файлам не наследуются динамически. То есть, когда предпринимается попытка открыть файл, Windows смотрит только на ACL этого файла, а не на ACL каталогов в дереве, содержащем файл. Это означает, что когда вы изменяете ACL каталога, Windows должна немедленно обновить разрешения всех файлов и подкаталогов в соответствующем каталоге.
В Windows параметр наследования в ACL не указывает какую-либо форму динамического наследования. Это просто флаг, указывающий, что при изменении ACL родительского каталога все файлы и подкаталоги в дереве, для которых установлен флаг наследования, также должны быть обновлены.
Те из нас, кто достаточно взрослый, чтобы помнить, что Novell NetWare помнит, это было одним из больших отличий от NetWare, потому что в NetWare наследование разрешений является (было?) Динамическим. В то время было много споров о том, какой подход был лучше, хотя история сделала вопрос спорным. Динамические ACL требуют, чтобы ОС проверяла ACL каждого родительского каталога во время попытки открыть файл, но изменение ACL происходит быстро. В Windows открытие файла требует проверки только одного ACL, но, как вы обнаружили, это означает, что изменение ACL каталога может быть медленным.
источник
Любой дочерний объект, который настроен на наследование своих разрешений от родительского объекта, должен быть обработан. Явно определенные разрешения для дочерних объектов не затрагиваются.
Опция «Заменить разрешения для всех дочерних объектов» будет не только распространять разрешения на все дочерние объекты, но также будет удалять и заменять любые явно определенные разрешения для всех дочерних объектов.
источник
По умолчанию дочерние папки наследуют разрешения от родительской папки. Предполагая область действия по умолчанию при добавлении / изменении разрешений для родительской папки (этой папки, подпапок и файлов), все дочерние папки будут обновлены, чтобы отразить изменение разрешений в родительской папке.
Флажок, на который вы ссылаетесь, является «одноразовой» операцией, которая удаляет все явно определенные разрешения для всех дочерних папок, заменяет их наследуемыми разрешениями от родительских и повторно включает наследование разрешений для дочерних папок.
источник