"NT AUTHORITY\SYSTEM" é um usuário ou um grupo?

"NT AUTHORITY\SYSTEM" é um usuário ou um grupo?

No Windows o usuário Systemé exibido com o símbolo de grupo: insira a descrição da imagem aqui. (Usando a API Win32 internaLookupAccountSidtambém revela que parece ser um grupoGrupo SidType.)

Por outro lado, os processos podem ser executados da system contextmesma forma em um arquivo user context. Além disso, os documentos da Microsoft o descrevem como "usuário do sistema" ou "conta do sistema" e não como "grupo do sistema".

É um usuário que, para fins herdados, é exibido como grupo?

(Ou é algoWerner Heisenbergestaria interessado?)


Observação:Qual é o usuário NT AUTHORITY\SYSTEM?é semelhante, mas não responde à pergunta por que é exibido como grupo e se comporta como um usuário.

Responder1

Primeiro,token de acesso contém muito mais do queidentificador de segurança (SID). Basta “Executar como administrador” um programa para ver no Gerenciador de Tarefas que seu usuário é ele mesmo e não Administrador, e esse milagre é conseguido apenas pela modificação do token de acesso, não pela substituição do SID.

Em segundo lugar, NT-AUTHORITY e SYSTEM não são contas nem grupos, apesar do que dizem várias outras fontes (mesmo dentro da Microsoft). Um SID geralmente possui um nome que é exibido sempre que necessário. Uma conta de usuário contribuirá com seu SID como SID principal para o token de acesso, que também determinará o nome exibido por vários utilitários. Mas o token de acesso pode conter SIDs adicionais, por exemplo, para todos os grupos aos quais pertence essa conta de usuário. Ao verificar as permissões, o Windows procurará qualquer SID no token de acesso que tenha essa permissão.

Alguns SIDs do Windows conhecidos terão nomes relatados pelo Windows, embora na verdade não pertençam a nenhuma conta.

AIdentificador de segurança é definido pela Wikipedia como:

um identificador exclusivo e imutável de um usuário, grupo de usuários ou outro principal de segurança.

O SID não precisa nem definir uma conta de usuário ou grupo. Ele apenas define um conjunto de permissões. O artigo da Wikipedia acima acrescenta:

O Windows concede ou nega acesso e privilégios a recursos com base em listas de controle de acesso (ACLs), que usam SIDs para identificar exclusivamente usuários e suas associações de grupo. Quando um usuário faz login em um computador, é gerado um token de acesso que contém SIDs de usuário e grupo e nível de privilégio do usuário. Quando um usuário solicita acesso a um recurso, o token de acesso é verificado na ACL para permitir ou negar uma ação específica em um objeto específico.

O SID de NT-AUTHORITY\SYSTEMpode ser adicionado a outras contas. Por exemplo, isto é dito sobre o Conta LocalSystem:

A conta LocalSystem é uma conta local predefinida usada pelo gerenciador de controle de serviço. [...]Seu token inclui os SIDs NT AUTHORITY\SYSTEM e BUILTIN\Administrators; essas contaster acesso à maioria dos objetos do sistema.

Já se percebe no texto acima a confusão que reina até mesmo na documentação da Microsoft quanto aos SIDs de sistema, que não são exatamente contas nem grupos – que são apenas um conjunto de permissões. Esta confusão estende-se ainda a outros utilitários e artigos, pelo que qualquer informação devolvida deve ser cuidadosamente examinada.

O artigo da Microsoft Identificadores de segurança conhecidos em sistemas operacionais Windows detalha todos os SIDs do sistema, alguns dos quais incluo abaixo:

imagem

Conclusão: NT-AUTHORITY\SYSTEM é o nome de um ID de segurança, que não é um grupo nem uma conta. É exibido no Gerenciador de Tarefas como SYSTEM quando é o SID principal de um programa. O máximo que eu chamaria é de "uma pseudo conta".

Responder2

IMHO sua observação está correta. NT-AUTHORITY\SYSTEMé um grupo, então você pode se referir a ele como o sistemagrupo. Esse grupoexiste desde o Windows NT 4pelo menos e já teve um grupo lá:

Grupos Especiais

[...]

Sistema - O sistema operacional.

Há também uma conta chamadaSistema Localqual

[...] inclui o NT AUTHORITY\SYSTEM [...]

então você poderia chamar isso de sistemado utilizadorque é membro do grupo SYSTEM.

SysInternalsPsGetSidapoia a teoria de grupo para SYSTEM:

C:\>PsGetsid.exe S-1-5-18

PsGetSid v1.44 - Translates SIDs to names and vice versa
Copyright (C) 1999-2008 Mark Russinovich
Sysinternals - www.sysinternals.com

Account for YOURPCNAMEHERE\S-1-5-18:
Well Known Group: NT-AUTHORITY\SYSTEM

Em relação ao início de um processo em grupo:

Para gerenciar a segurança, um processo recebe umtoken de acesso. O token de acesso contém apenas SIDs. Não tenho certeza se há uma verificação se o SID do usuário é realmente um usuário ou um grupo. Em princípio isso não importaria: o SID define o que pode ser acessado. Talvez oArtigo do CodeProjectpode ajudar na implementação

informação relacionada