Alguns dos processos exibidos no Gerenciador de Tarefas são, na verdade, serviços que você pode ver no nó Serviços do console do Gerenciamento do Computador. Os serviços podem ter uma ACL anexada a eles da mesma maneira que um arquivo / pasta pode. Se o serviço estiver sendo executado como a conta LocalSystem e tiver uma ACL que impeça você de desligá-lo (provavelmente com um programa antivírus), isso explicaria por que você está recebendo um erro de permissão negada ao tentar eliminá-lo.
Definir permissões nos serviços é uma dor. Não há opções dentro da GUI para modificá-las. A única maneira que isso pode ser feito é através da linha de comando com o comando sc
.
Infelizmente, o comando sc
é feio. Por exemplo, eu emiti este comando para o serviço do BITS em minha própria máquina:
sc sdshow bits
... e obteve a seguinte saída:
D:(A;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)
S:(AU;SAFA;WDWO;;;BA)
Essa é a SDDL (Security Descriptor Definition Language) da Microsoft para você.
Cada entrada de controle de acesso (ACE) na lista está dentro dos parênteses ()
e é chamada de ACE String .
Eu vou parar por aí porque seguir esse link e tentar entender uma string SDDL fará sua cabeça girar.
No entanto, todas as permissões (mesmo as dos arquivos) são representadas por strings SDDL. É só que os serviços não fornecem um front-end de GUI para trabalhar com eles (nem mesmo um utilitário de linha de comando sane como cacls
).