Verificar quais arquivos podem ser acessados ​​por uma determinada conta do Windows

0

Estou usando o Microsoft SQL Server 2014 em uma máquina Windows Server 2012 R2 Datacenter. Depois de encontrar problemas ao executar uma tarefa específica, estou tentando investigar se a conta de serviço que está executando o Serviço do Windows do SQL Server tem acesso a determinados arquivos. Eu fiz uma instalação pronta do SQL Server, e a conta de serviço que executa esse serviço é NT SERVICE\MSSQLSERVER (há também NT SERVICE\SQLSERVERAGENT para o Integration Services).

Como faço para verificar a quais arquivos esta conta tem acesso? Estou bem com a verificação em uma base de arquivo por arquivo.

Uma maneira que pensei em fazer isso foi rodar cmd.exe como outro usuário e começar a fazer dir s. Quando eu Shift-Right Click C:\Windows\System32\cmd.exe e selecione Executar como um usuário diferente, tento inserir o nome completo da conta, incluindo o domínio, mas recebo este erro: O nome fornecido não é um nome de conta formado corretamente. É por causa do espaço no domínio. Se eu omitir o domínio, o padrão é o domínio do qual o computador faz parte, que não é NT SERVICE. Isso está assumindo que a senha deve ser deixada em branco.

Como eu faço login como um usuário cujo domínio tem um espaço?

Michael Plautz
fonte
"Como faço login como usuário cujo domínio tem um espaço?" - Você não "Como faço para verificar a quais arquivos esta conta tem acesso?" Basta verificar a ACL na pasta que contém os arquivos em questão. Se a conta do serviço não estiver listada, você poderá assumir que ela não tem acesso à pasta.
Ramhound

Respostas:

0

Você não pode entrar com o NT Service\MSSQLSERVER conta ou o NT SERVICE\SQLSERVERAGENT conta. Eles são contas especiais apenas para o serviço que tem um SID para permitir que as permissões sejam configuradas, mas o Windows sabe que elas não são contas reais, por isso não permitirá que você faça o login com elas.

Você pode examinar a quais permissões essas contas têm acesso usando a ferramenta Sysinternals AccessChk e digitalizar uma unidade.

Um exemplo de comando é:

accesschk64.exe -s -d -w "Serviço NT \ MSSQLSERVER" C: \ *. *

Isso pesquisará a unidade C recursivamente mostrando todas as pastas nas quais a conta possui acesso de gravação. Usar accesschk64.exe /? para uma lista completa de opções.

pholcroft
fonte