"NT AUTHORITY\SYSTEM"은 사용자입니까, 아니면 그룹입니까?

"NT AUTHORITY\SYSTEM"은 사용자입니까, 아니면 그룹입니까?

Windows에서는 사용자가 System그룹 기호로 표시됩니다. 여기에 이미지 설명을 입력하세요. (내부 Win32 API를 사용하여조회계정 ID그룹인 것 같다고도 밝혔습니다시드 유형그룹.)

반면 system context에 프로세스는 user context. 또한 Microsoft 문서에서는 이를 "시스템 그룹"이 아닌 "시스템 사용자" 또는 "시스템 계정"으로 설명합니다.

레거시 목적으로 그룹으로 표시되는 사용자입니까?

(아니면 뭔가요?베르너 하이젠베르크관심이 있었을 텐데?)


메모:NT AUTHORITY\SYSTEM 사용자란 무엇입니까?유사하지만 그룹으로 표시되고 사용자처럼 동작하는 이유에 대한 질문에 대답하지 않습니다.

답변1

첫 번째,액세스 토큰 것보다 훨씬 많은 내용이 들어있습니다.보안 식별자(SID). 작업 관리자에서 해당 사용자가 관리자가 아닌 본인임을 확인하려면 프로그램을 "관리자 권한으로 실행"하기만 하면 됩니다. 이 기적은 SID를 바꾸는 것이 아니라 액세스 토큰을 수정함으로써 달성됩니다.

둘째, NT-AUTHORITY 및 SYSTEM은 다양한 다른 소스(Microsoft 내부에서도 마찬가지)에도 불구하고 계정이나 그룹이 아닙니다. SID에는 일반적으로 필요할 때마다 표시되는 이름이 있습니다. 사용자 계정은 해당 SID를 액세스 토큰에 대한 주체 SID로 제공하며, 이는 다양한 유틸리티에서 표시되는 이름도 결정합니다. 그러나 액세스 토큰에는 해당 사용자 계정이 속한 모든 그룹에 대한 추가 SID가 포함될 수 있습니다. 권한을 확인할 때 Windows는 해당 권한이 있는 액세스 토큰에서 SID를 찾습니다.

일부 잘 알려진 Windows SID에는 Windows에서 보고된 이름이 있지만 실제로는 어떤 계정에도 속하지 않습니다.

보안 식별자 Wikipedia에서는 다음과 같이 정의합니다.

사용자, 사용자 그룹 또는 사용자의 고유하고 변경 불가능한 식별자 다른 보안 주체.

SID는 사용자 계정이나 그룹을 정의할 필요도 없습니다. 단지 권한 집합을 정의합니다. 위의 Wikipedia 기사에는 다음이 추가됩니다.

Windows는 SID를 사용하여 사용자와 해당 그룹 구성원을 고유하게 식별하는 ACL(액세스 제어 목록)을 기반으로 리소스에 대한 액세스 및 권한을 부여하거나 거부합니다. 사용자가 컴퓨터에 로그인하면 사용자 및 그룹 SID와 사용자 권한 수준이 포함된 액세스 토큰이 생성됩니다. 사용자가 리소스에 대한 액세스를 요청하면 ACL에 대해 액세스 토큰을 확인하여 특정 개체에 대한 특정 작업을 허용하거나 거부합니다.

의 SID는 NT-AUTHORITY\SYSTEM다른 계정에 추가될 수 있습니다. 예를 들어, 다음과 같이 말합니다. LocalSystem 계정:

LocalSystem 계정은 서비스 제어 관리자가 사용하는 미리 정의된 로컬 계정입니다. [...]해당 토큰에는 NT AUTHORITY\SYSTEM 및 BUILTIN\Administrators SID가 포함됩니다. 이 계정대부분의 시스템 개체에 액세스할 수 있습니다.

위의 텍스트에서 시스템 SID와 관련하여 Microsoft 문서에서도 지배적인 혼란을 이미 볼 수 있습니다. 시스템 SID는 정확히 계정이나 그룹이 아니며 단지 권한 집합입니다. 이러한 혼란은 다른 유틸리티 및 항목까지 확대되므로 반환된 정보를 주의 깊게 조사해야 합니다.

마이크로소프트 기사 Windows 운영 체제의 잘 알려진 보안 식별자 모든 시스템 SID에 대해 자세히 설명합니다. 그 중 일부는 아래에 포함되어 있습니다.

영상

결론: NT-AUTHORITY\SYSTEM은 그룹도 계정도 아닌 보안 ID의 이름입니다. 프로그램의 주요 SID인 경우 작업 관리자에 SYSTEM으로 표시됩니다. 내가 가장 많이 부르는 것은 "의사 계정"입니다.

답변2

IMHO 당신의 관찰이 정확합니다. NT-AUTHORITY\SYSTEM그룹이므로 시스템이라고 할 수 있습니다.그룹. 이 그룹Windows NT 4부터 존재함적어도 거기에는 이미 그룹이 있었습니다.

특수 그룹

[...]

시스템 - 운영 체제입니다.

이라는 계정도 있습니다.로컬시스템어느

[...]에는 NT AUTHORITY\SYSTEM이 포함됩니다. [...]

그래서 이것을 시스템이라고 부를 수 있습니다.사용자SYSTEM 그룹의 구성원입니다.

SysInternalsPsGetSidSYSTEM에 대한 그룹 이론을 지원합니다.

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

그룹으로서 프로세스의 시작에 관하여:

보안을 관리하기 위해 프로세스는액세스 토큰. 액세스 토큰에는 SID만 포함됩니다. 사용자의 SID가 실제로 사용자인지 그룹인지 확인하는 경우가 있는지 확실하지 않습니다. 원칙적으로는 중요하지 않습니다. SID는 액세스할 수 있는 항목을 정의합니다. 아마도CodeProject 기사구현에 도움이 될 수 있습니다

관련 정보