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?


"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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.