Para que um usuário do windows, que não possui permissões de administrador, tenha permissão sobre um determinado
serviço que é executado no windows temos que executar os passos abaixo.
1. Para podermos realizar as configurações temos que acessar o windows através de uma conta de administrador.
2. Acessado o sistema como administrador precisamos pegar o valor do SID (Security Identifier) do usuário o qual pretendemos
conceder a permissão.
2.1 Podemos pegar o valor do SID da seguinte forma:
2.2 Basta acessar o registro do sistema, na pesquisa do windows digite "regedit.exe" e execute.
2.3 Para acessar o que queremos basta acessar a árvore do sistema que fica a esquerda no seguinte caminho
HKEY_LOCAL_MACHINE>SOFTWARE>Microsoft>Windows NT>CurrentVersion>ProfileList
2.4 Aqui teremos várias pastas sendo cada uma referente a um usuário do sistema, o nome de cada pasta é o SID referente a este usuário.
Para sabermos de qual usuário se trata cada pasta basta clicarmos em cima da pasta e verficarmos no quadro a direita a coluna
"Dado" no registro de nome "ProfileImagePath" possui o nome do usuário.
2.5 Uma vez identificado o usuário desejado, copie o valor do SID, que será algo como S-1-5-21-2103278432-2794320136-1883075150-1000.
Recomendamos que copie e cole em um arquivo de texto pois será usado posteriormente.
3. Agora precisamos pegar as permissões atribuídas ao serviço que queremos que o usuário tenha acesso.
3.1 Acesse o promp de comando do windows. Na pesquisa do windows digite "cmd".
3.2 Digite a linha de comando abaixo:
sc sdshow <NOME DO SEU SERVIÇO>
Ex: sc sdshow teste
3.3 A execução desse comando retornará as permissões de cada grupo e usuário que este serviço possui. Será algo como
D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
3.4 Copie e cole junto ao SID.
4. De posse das permissões do serviço copie o trecho igual a esse "(A;;CCLCSWRPWPDTLOCRRC;;;SY)" sem as aspas e edite da seguinte forma:
4.1 Substitua o valor entre os pontos e vírgula "CCLCSWRPWPDTLOCRRC" por "RPWPCR".
4.2 Substitua o valor "SY" pelo SID que foi obtido no passo 2.
4.3 Ao final teremos algo como isso "(A;;RPWPCR;;;S-1-5-21-2103278432-2794320136-1883075150-1000)"
4.4 Copie este novo trecho e cole imediatamente antes do trecho "S:(AU;..." no valor que tinhamos originalmente.
4.5 O valor final será assim:
D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;RPWPCR;;;S-1-5-21-2103278432-2794320136-1883075150-1000)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
É este o valor que iremos usar para reconfigurar as permissões do serviço.
* Atenção pois esse valor não possuem salto de linha, ele é uma linha só.
5. Agora iremos modificar as permissões do serviço.
5.1 Abra o prompt de comando do windows novamente e digite o comando abaixo:
sc sdset <NOME DO SEU SERVIÇO> <Valor das permissões que acabamos de alterar, deve ser entre aspas duplas>
Ex: sc sdset teste "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;RPWPCR;;;S-1-5-21-2103278432-2794320136-1883075150-1000)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
* Atenção pois esse valor não possui salto de linha, ele é uma linha só.
5.2 Execute o comando e aparecerá na tela a seguinte mensagem:
[SC] SetServiceObjectSecurity SUCCESS ou [SC] SetServiceObjectSecurity ÊXITO
6. Agora basta trocar de usuário e conferir se as permissões foram concedidas com sucesso.
**Caso você queira que todos os usuários tenham acesso a um determinado serviço basta trocar o SID do usuário por "NS"
Ex: sc sdset teste "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;RPWPCR;;;NS)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)"
Id Artigo: su_e14082701
Palavras Chaves: Permissões, Usuário, Serviço, Windows.