Sugiro fazer primeiro o backup das ACLs atuais usando icacls /save
, para que, em caso de problemas, você possa apenas icacls /restore
e reiniciar do começo.
As permissões são herdadas (ou re (-re (-re…)) herdadas) somente do diretório pai imediato, não de todos os pais juntos. Por isso, deve ser suficiente desativar a herança para o diretório superior (tornando as permissões estáticas), por exemplo, usando
icacls my_2008_project /inheritance:d
Isso converterá as ACEs herdadas atualmente em ACEs estáticas, portanto, a ACL resultante não será alterada, não importa onde o diretório seja movido - e, portanto, as ACLs herdadas por seus arquivos e subdiretórios também não serão alteradas.
(Na verdade, apenas mover itens não ajusta automaticamente as permissões herdadas de qualquer maneira , mas o passo acima garante que isso não aconteça por acidente.)
Para evitar a escrita, você terá que usar as ACLs também. (O atributo "somente leitura" funciona somente com arquivos - é completamente ignorado para diretórios). O mais fácil seria adicionar uma ACE 'negar':
icacls my_2008_project /t /deny Everyone:W
Isso adicionará a ACE individualmente a cada item (desde que você mencionou que alguns deles têm permissões herdáveis desativadas).
Uma versão herdada regular seria:
icacls my_2008_project /deny Everyone:(OI)(CI)W