Configurando ACLs NTFS na rede - Existe uma maneira mais rápida?

3

No meu ambiente, tenho vários projetos que envolvem a execução de relatórios de auditoria de ACL do NTFS e várias atividades de limpeza da ACL em vários servidores de arquivos. Existem dois motivos principais pelos quais não posso realizar essas atividades localmente nos servidores:

1) Eu não tenho acesso local aos servidores, pois eles são de propriedade e administrados por outra empresa.

2) Eles são servidores SNAP NAS que executam um sistema operacional Linux modificado (chamado GuardianOS) se eu pudesse obter acesso local, não tenho certeza da disponibilidade de ferramentas para executar as operações de que preciso.

Depois disso, acabei lançando minha própria ferramenta de relatório de auditoria do ACL que recursava no sistema de arquivos começando em um caminho de nível superior especificado e cuspia um relatório HTML em todos os grupos / usuários encontrados as ACLs, além de mostrar as alterações nas permissões à medida que desce a árvore. Enquanto desenvolvia essa ferramenta, descobri que a sobrecarga de rede era a pior parte de fazer essas operações e, ao executar o processo de várias etapas, consegui um desempenho substancialmente maior.

No entanto, ainda estou preso para encontrar uma boa ferramenta para executar as modificações e a limpeza da ACL. Suas ferramentas padrão out-of-the-box (cacls, xcacls, Explorer) parecem ser single-threaded e sofrem significativa penalidade de desempenho quando atravessam a rede.

A questão

Existem ferramentas mais rápidas que o Explorer ou o CACLS para realizar modificações de ACL do NTFS na rede?

    
por David Archer 11.06.2009 / 06:32

3 respostas

3

Seu ambiente soa um pouco estranho (NTFS rodando no Linux?) - no entanto, se você pode acessar e modificar ACLs de outra caixa do Windows, você já pensou em usar o PowerShell? Ele tem cmdlets get-acl e set-acl simples que farão o que você quiser.

Veja um artigo da Microsoft sobre como fazer as coisas simples: link

A beleza do PowerShell é sua flexibilidade, por exemplo, você pode facilmente ler em um conjunto de ACLs desejadas, possivelmente com algumas regras, e então obter o PowerShell para fazer isso por você ...

A única coisa será o desempenho - não tenho certeza se será mais rápido do que executar o CACLS em um arquivo CMD / batch ...

Boa sorte!

    
por 11.06.2009 / 06:54
1

Você pode dar uma olhada no SetACL ( link ). Está disponível como um controle ActiveX, portanto, você pode integrá-lo ao seu código personalizado de maneira multithread.

    
por 11.06.2009 / 07:17
1

Este é um post antigo, mas pelo que vale a pena, descobri que o PowerShell Set-ACL está longe de ser um demônio de velocidade e que as alternativas de script VB são frequentemente mais rápidas.

    
por 16.01.2017 / 07:33