Usuários do Windows podem receber vários privilégios
Privilégios determinam o tipo de operações do sistema que uma conta de usuário pode executar. Um administrador atribui privilégios a contas de usuário e grupo. Os privilégios de cada usuário incluem aqueles concedidos ao usuário e aos grupos aos quais o usuário pertence.
Atualmente existem 35 privilégios. Alguns dos mais interessantes são:
- SeSystemtimePrivilege : Necessário para modificar a hora do sistema.
- SeTimeZonePrivilege : necessário para ajustar o fuso horário associado ao relógio interno do computador
- SeBackupPrivilege : esse privilégio faz com que o sistema conceda todo o controle de acesso de leitura a qualquer arquivo, independentemente da lista de controle de acesso (ACL) especificada para o arquivo.
- SeCreatePagefilePrivilege : Necessário para criar um arquivo de paginação.
- SeRemoteShutdownPrivilege : necessário para desligar um sistema usando uma solicitação de rede.
- SeDebugPrivilege : necessário para depurar e ajustar a memória de um processo pertencente a outra conta.
Mas o que mais me interessa é:
- SeShutdownPrivilege : necessário para desligar um sistema local.
Percebi que na verdade não tenho esse privilégio. Em um prompt de comando elevado:
>whoami /priv
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
=============================== ========================================= ========
SeIncreaseQuotaPrivilege Adjust memory quotas for a process Disabled
SeSecurityPrivilege Manage auditing and security log Disabled
SeTakeOwnershipPrivilege Take ownership of files or other objects Disabled
...
SeShutdownPrivilege Shut down the system Disabled
...
Isso é confirmado ao usar o Process Explorer para examinar o token de segurança de um processo elevado em execução como eu:
E ainda assim eu posso desligar o sistema. Por quê?
A Diretiva de Grupo diz que eu deveria tê-lo
Se você usar o editor de diretiva de segurança local snapin ( secpol.msc
), poderá ver que eu deveria ter o privilégio:
secpol.msc
A explicação do privilégio:
Desligue o sistema
Essa configuração de segurança determina quais usuários com logon local no computador podem desligar o sistema operacional usando o comando Desligar. O uso indevido deste direito de usuário pode resultar em negação de serviço.
Padrão nas estações de trabalho: administradores, operadores de backup, usuários.
Padrão em servidores: administradores, operadores de backup.
Padrão nos controladores de domínio: Administradores, Operadores de backup, Operadores de servidor, Operadores de impressão.
Eu sou um usuário . Às vezes sou administrador e outras vezes não sou administrador .
Talvez a pergunta deva ser por que não tenho o privilégio.
Mas a realidade é que não tenho o privilégio; e ainda assim, quando conectado localmente, posso desligar o sistema local.
Por quê?
@Mehrdad teve uma boa resposta, que ele excluiu, o que eu acho que merece atenção e responde à pergunta de maneira bem e sucinta:
Você tem o privilégio. É apenas desativado por padrão. Se você não tivesse o privilégio, ele não seria listado .
Observe queSE_PRIVILEGE_REMOVED
é diferente de faltaSE_PRIVILEGE_ENABLED
ouSE_PRIVILEGE_ENABLED_BY_DEFAULT
.