Por que o Windows processa todos os objetos filho NTFS ao alterar a ACL de um pai?
Eu esperaria esse comportamento se tivesse marcado a caixa "Substituir todas as permissões de objeto filho ...", mas mesmo quando essa caixa é deixada desmarcada, o Windows processará todos os filhos.
Respostas:
No Windows, as permissões de arquivo não são herdadas dinamicamente. Ou seja, quando é feita uma tentativa de abrir um arquivo, o Windows examina apenas a ACL desse arquivo e não as ACLs dos diretórios na árvore que contém o arquivo. Isso significa que, quando você altera a ACL de um diretório, o Windows precisa atualizar imediatamente as permissões de todos os arquivos e subdiretórios no diretório afetado.
No Windows, a configuração de herança em uma ACL não indica nenhuma forma de herança dinâmica. É apenas um sinalizador para indicar que, quando a ACL de um diretório pai é modificada, todos os arquivos e subdiretórios na árvore que possuem o sinalizador de herança também devem ser atualizados.
Aqueles entre nós com idade suficiente para lembrar o Novell NetWare lembrarão que essa foi uma das grandes diferenças do NetWare, porque no NetWare a herança de permissões é (foi?) Dinâmica. Houve muito debate na época sobre qual abordagem era melhor, embora a história tenha discutido a questão. As ACLs dinâmicas exigem que o sistema operacional verifique as ACLs de cada diretório pai no momento em que é feita uma tentativa de abrir o arquivo, mas a alteração das ACLs é rápida. No Windows, o arquivo de abertura requer que apenas uma única ACL seja verificada, mas como você descobriu, isso significa que a alteração de um diretório da ACL pode ser lenta.
fonte
Qualquer objeto filho configurado para herdar suas permissões do objeto pai precisará ser processado. Permissões explicitamente definidas nos objetos filho não são afetadas.
A opção “Substituir permissões em todos os objetos filho” não propagará apenas as permissões para todos os objetos filhos, mas também removerá e substituirá quaisquer permissões definidas explicitamente em todos os objetos filhos.
fonte
Por padrão, as pastas filho herdam as permissões da pasta pai. Assumindo o escopo padrão ao adicionar / modificar permissões na pasta pai (esta pasta, subpastas e arquivos), todas as pastas filho serão atualizadas para refletir as permissões alteradas no pai.
A caixa de seleção a que você está se referindo é uma operação "única" que remove todas as permissões definidas explicitamente em todas as pastas filho e as substitui por permissões herdáveis do pai e reativa a herança de permissões nas pastas filho.
fonte