'로컬 시스템' 계정과 '네트워크 서비스' 계정의 차이점은 무엇입니까?
별도의 프로세스를 생성하는 Windows 서비스를 작성했습니다.이 프로세스는 COM 개체를 만듭니다.서비스가 '로컬 시스템' 계정으로 실행되면 모든 것이 정상적으로 작동하지만 서비스가 '네트워크 서비스' 계정으로 실행되면 외부 프로세스가 시작되지만 COM 개체는 생성되지 않습니다.COM 개체 생성에서 반환된 오류는 표준 COM 오류가 아닙니다(생성 중인 COM 개체에만 해당되는 것 같습니다).
그렇다면 '로컬 시스템'과 '네트워크 서비스'라는 두 계정이 어떻게 다른지 어떻게 판단해야 할까요?이 내장된 계정들은 매우 신비로워 보이고 아무도 그것들에 대해 잘 알지 못하는 것 같습니다.
표준 서비스 계정의 기능에 대해 혼동이 많으므로 간략하게 설명해 보겠습니다.
먼저 실제 계정:
-
네트워크 서비스와 매우 유사하며 최소한의 권한을 가진 표준 서비스를 실행하기 위한 제한된 서비스 계정입니다.그러나 네트워크 서비스와 달리 익명 사용자로 네트워크에 액세스합니다.
- 이름:
NT AUTHORITY\LocalService
- 계정에 암호가 없습니다(제공한 암호 정보는 무시됨).
- HKCU는 LocalService 사용자 계정을 나타냅니다.
- 로컬 컴퓨터에 대한 최소한의 권한을 가집니다.
- 네트워크에 익명 자격 증명을 표시합니다.
- S-1-5-19
- HKEY_USERS 레지스트리 키 아래에 자체 프로필이 있습니다(
HKEY_USERS\S-1-5-19
)
- 이름:
-
표준 권한 있는 서비스를 실행하기 위한 제한된 서비스 계정입니다.이 계정은 로컬 시스템(또는 관리자)보다 훨씬 제한적이지만 여전히 네트워크에 기계로 액세스할 수 있는 권한을 가지고 있습니다(위의 경고 참조).
NT AUTHORITY\NetworkService
- 계정에 암호가 없습니다(제공한 암호 정보는 무시됨).
- HKCU는 NetworkService 사용자 계정을 나타냅니다.
- 로컬 컴퓨터에 대한 최소한의 권한을 가집니다.
- 증명 시의자예증명격템스예)을 제공합니다.
MANGO$
서버에 ) - S-1-5-20
- HKEY_USERS 레지스트리 키 아래에 자체 프로필이 있습니다(
HKEY_USERS\S-1-5-20
) - 이를하려고 할 에는 이를사여작예면다입음력합다니을려하약업을 합니다.
NETWORK SERVICE
사용자 또는 그룹 선택 대화 상자로
로컬 시스템 계정 (계속, 사용하지 마십시오!)
관리자 계정보다 완전히 신뢰할 수 있는 계정입니다.단일 상자에는 이 계정이 수행할 수 없는 작업이 없으며 시스템으로 네트워크에 액세스할 수 있는 권한이 있습니다(Active Directory가 필요하고 시스템 계정에 권한을 부여해야 함).
- 이름:
.\LocalSystem
)로 사용할 .)LocalSystem
또는ComputerName\LocalSystem
) - 계정에 암호가 없습니다(제공한 암호 정보는 무시됨).
- S-1-5-18
- .
HKCU
기본 사용자를 나타냄) - 로컬 컴퓨터에 대한 광범위한 권한을 가집니다.
- 증명 시의자예증명격템스예)을 제공합니다.
MANGO$
서버로 ) 파일 이름
- 이름:
위에서 네트워크 액세스에 대해 언급할 때, 이것은 SPNEGO(네고시에이트), NTLM 및 Kerberos만을 의미하며 다른 인증 메커니즘을 의미하지 않습니다.예를 들어, 다음과 같이 실행 처리LocalService
여전히 인터넷에 접속할 수 있습니다.
즉시 사용할 수 있는 표준 계정으로 실행할 때의 일반적인 문제는 기본 사용 권한 중 하나라도 수정하면 해당 계정으로 실행되는 모든 작업이 확장된다는 것입니다.따라서 데이터베이스에 DBO를 부여하면 로컬 서비스 또는 네트워크 서비스로 실행 중인 서비스가 해당 데이터베이스에 액세스할 수 있을 뿐만 아니라 해당 계정으로 실행 중인 다른 모든 항목에도 액세스할 수 있습니다.모든 개발자가 이 작업을 수행하면 컴퓨터는 실질적으로 모든 작업을 수행할 수 있는 권한(구체적으로 해당 계정에 부여된 모든 추가 권한의 상위 집합)을 가진 서비스 계정을 갖게 됩니다.
보안 측면에서는 서비스가 수행하는 작업을 수행하는 데 필요한 권한이 있고 다른 작업은 수행하지 않는 고유한 서비스 계정으로 실행하는 것이 항상 선호됩니다.그러나 이 방법의 비용은 서비스 계정을 설정하고 암호를 관리하는 것입니다.이는 각 애플리케이션이 관리해야 하는 균형 조정 작업입니다.
특정한 경우 DCOM 또는 COM+ 활성화가 지정된 계정 집합으로 제한된다는 문제가 발생할 수 있습니다.윈도우즈 XP SP2, 윈도우즈 서버 2003 이상에서는 정품 인증 권한이 상당히 제한되었습니다.구성 요소 서비스 MMC 스냅인을 사용하여 특정 COM 개체를 검사하고 활성화 권한을 확인해야 합니다.네트워크에서 컴퓨터 계정으로 액세스하지 않는 경우 로컬 서비스(기본적으로 운영 체제인 로컬 시스템이 아님) 사용을 심각하게 고려해야 합니다.
윈도우즈 Server 2003에서는 다음과 같이 스케줄링된 작업을 실행할 수 없습니다.
NT_AUTHORITY\LocalService
(현지 서비스 계정이라고도 함), 또는NT AUTHORITY\NetworkService
(네트워크 서비스 계정이라고도 함).
이 기능은 윈도우즈 Vista/윈도우즈 서버 2008 이상에만 있는 작업 스케줄러 2.0에만 추가되었습니다.
다음과 같이 실행되는 서비스NetworkService
네트워크의 시스템 자격 증명을 보여 줍니다.즉, 컴퓨터가 호출된 경우mango
기계 계정으로 표시됩니다. MANGO$
:
언급URL : https://stackoverflow.com/questions/510170/the-difference-between-the-local-system-account-and-the-network-service-acco
'sourcecode' 카테고리의 다른 글
Vb를 사용하여 프로세스를 종료하려면 어떻게 해야 합니까?NET 또는 C#? (0) | 2023.05.08 |
---|---|
각도 CLI 오류:serve 명령을 Angular 프로젝트에서 실행해야 하지만 프로젝트 정의를 찾을 수 없습니다. (0) | 2023.05.08 |
VB의 Null 검사입니다. (0) | 2023.05.08 |
배시 완료와 관련하여 ${array[*]} 대 ${array[@]}에 대한 혼동 (0) | 2023.05.08 |
변경 시 라디오 사용 방법 (0) | 2023.05.08 |