Windows 2003; Encontre pastas com permissões não herdadas / alteradas

8

A pergunta : Estou procurando uma boa maneira de auditar / pesquisar uma estrutura de diretórios (Windows 2003) e localizar todas as pastas que não herdam permissões de seus pais - ou - adicionaram usuários / grupos adicionais.

A história por trás

Estamos migrando um servidor de arquivos antigo do Windows 2003 para uma caixa 2008 R2. Este servidor antigo foi migrado do NT4. A maioria das pastas atuais usa os grupos Domínio \ Administradores e Domínio \ Usuários antigos (obsoletos?). Esses são grupos que, enquanto ainda estão no AD, não posso usar para permissões nas permissões do 2008 R2.

Portanto, antes de copiar todos os dados compartilhados do servidor antigo para o novo, primeiro preciso "modernizar" as permissões nos compartilhamentos antigos. No entanto, eu sei que nas últimas décadas algumas pastas [não documentadas] tiveram suas permissões modificadas para não herdar do pai ou adicionar usuários adicionais. Assim, minha busca por uma maneira de encontrá-los!

Chris_K
fonte

Respostas:

8

Eu recomendaria usar o Powershell (para Win2003: http://support.microsoft.com/kb/968929/en-us ) e um módulo adicional também para isso ( http://gallery.technet.microsoft.com / scriptcenter / 1abd77a5-9c0b-4a2b-acef-90dbb2b84e85 ).

Isso o ajudará primeiro a obter a herança de uma estrutura de pastas com (ao executar a partir da sua pasta inicial), por exemplo.

get-childitem -Recurse | get-inheritance | export-CSV C:\Inheritance.csv -NoTypeInformation

Você receberá todos os arquivos e pastas em um csv, que poderão ser filtrados no Excel ou em outros bancos de dados, se necessário.

O benefício adicional do NTFSSecurity Modul é que você pode alterar a herança ou as ACLs também durante a migração com um script Powershell semelhante.

por exemplo, você pode remover completamente a herança em uma pasta (sua pasta inicial) com:

get-childitem | Disable-Inheritance

ou adicione a opção -recurse novamente para todas as subpastas / arquivos novamente.

Espero que isso ajude Cheers

Mr.T
fonte
1
+1 por me informar sobre o Módulo PowerShell de segurança do sistema de arquivos.
pk.
Pequeno, mas extremamente funcional e útil! Uma coisa imperdível!
Volodymyr Molodets
1

Isso é bem fácil com o SetACL . Execute-o assim:

SetACL -on "some path" -ot file -actn list -lst f:csv -rec cont

Esse comando instrui o SetACL a imprimir permissões somente daqueles objetos que possuem permissões explícitas, porque as ACEs foram adicionadas a um diretório com a herança ativada ou porque a herança foi desativada e as novas ACEs foram definidas.

O SetACL processa caminhos com mais de 260 caracteres e lista ACEs de qualquer diretório, independentemente das permissões atuais, ou seja, mesmo que você não tenha acesso de leitura, o SetACL mostra o que está lá e imprime as permissões (são necessários direitos de administrador).

Helge Klein
fonte