Arquivamento de permissões de preservação de árvore de diretórios no Windows

1

Eu tenho que arquivar (= mover para uma subpasta "archive" e definir o sinalizador somente leitura) um conjunto de diretórios remotos, preservando as ACLs, em um servidor Windows remoto. Os diretórios têm acesso diferente, alguns herdados da pasta pai, outros não. É fundamental que os diretórios movidos preservem suas permissões de acesso (por exemplo, alguns diretórios podem ser acessados apenas pelos gerentes e devem permanecer assim).

Eu joguei um pouco com o sinalizador "Somente leitura" nas propriedades dos diretórios e parece satisfazer parcialmente meus requisitos - depois de configurá-lo, ainda posso criar um novo arquivo no diretório RO e Eu gostaria de evitar isso.

O maior problema é, no entanto, mover os diretórios sem destruir as ACLs.

Alguém pode me ajudar com as questões acima mencionadas, por favor?

Muito obrigado antecipadamente!

R.

    
por RH6 03.01.2017 / 10:06

1 resposta

1

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
    
por 03.01.2017 / 11:14