Ultimamente, tenho trabalhado com um de nossos funcionários de armazenamento em um projeto que envolveu uma análise minuciosa dos compartilhamentos de arquivos grandes que são usados pela empresa há anos. Freqüentemente, encontramos diretórios ou arquivos inacessíveis para nós (com conta de administrador de domínio) por um ou mais dos seguintes motivos:
- ACLs corrompidas
- acesso foi revogado ou negado para o grupo Administradores (ou usuário do SISTEMA)
- nome do arquivo + caminho muito longo (além de MAX_PATH )
Existem algumas ferramentas que podem ajudar nessas situações, da Microsoft (por exemplo, TAKEOWN.EXE e ICALCS.EXE) ou de terceiros (por exemplo, SETACL.EXE ). Às vezes, são necessários outros truques, como executar um dos comandos na conta SYSTEM com o PSEXEC.EXE . Até mesmo descobrir quais etapas a serem executadas e em que ordem é um desafio ...
Por exemplo, eu gostaria de poder solucionar problemas com um fluxo como este:
- O caminho é longo demais? Nesse caso, crie um caminho com o
\\?\
prefixo e teste novamente. - A ACL está corrompida? Nesse caso, reordene as ACEs corretamente e remova quaisquer incógnitas e teste novamente.
- O grupo Administradores foi negado? Nesse caso, tome posse, adicione novamente permissões ao grupo Administradores e à conta SYSTEM e teste novamente.
- Ainda está falhando? Nesse caso, exclua todas as ACEs e aplique apenas permissões herdadas e verifique novamente. (Esse é um tipo de último recurso, pois frequentemente ele abre permissões que deveriam ser mais restritivas.)
- É um diretório? Nesse caso, o processo precisa continuar recursivamente para os arquivos dentro ...
Executar as etapas acima manualmente é uma dor e irracional quando temos centenas de diretórios para corrigir. Tentei escrever scripts para ajudá-los, mas acho que é difícil tornar o script "inteligente" sobre as decisões que toma e, portanto, muitas vezes é mais fácil executar um método de reparo bruto, como restaurar apenas as permissões herdadas.
Alguém pode recomendar outro software e / ou scripts que ajudariam nesse processo? Ou, como você corrige problemas de permissões como esses?