다음을 통해 공유


SERVICE_SID_INFO 구조체(winsvc.h)

SID(서비스 보안 식별자)를 나타냅니다.

구문

typedef struct _SERVICE_SID_INFO {
  DWORD dwServiceSidType;
} SERVICE_SID_INFO, *LPSERVICE_SID_INFO;

멤버

dwServiceSidType

서비스 SID 유형입니다.

의미
SERVICE_SID_TYPE_NONE
0x00000000
이 형식을 사용하여 애플리케이션 호환성 문제를 줄입니다.
SERVICE_SID_TYPE_RESTRICTED
0x00000003
이 형식에는 SERVICE_SID_TYPE_UNRESTRICTED 포함됩니다. 서비스 SID도 프로세스 토큰의 제한된 SID 목록에 추가됩니다. 또한 제한된 SID 목록에 세 개의 추가 SID가 추가됩니다.
  • World SID S-1-1-0
  • 서비스 로그온 SID
  • 쓰기 제한 SID S-1-5-33
서비스 로그온 SID에 대한 GENERIC_ALL 액세스를 허용하는 하나의 ACE도 서비스 프로세스 토큰 개체에 추가됩니다.

동일한 프로세스에서 호스트되는 서비스가 여러 개 있고 하나의 서비스가 SERVICE_SID_TYPE_RESTRICTED 경우 모든 서비스에 SERVICE_SID_TYPE_RESTRICTED 있어야 합니다.

SERVICE_SID_TYPE_UNRESTRICTED
0x00000001
서비스 프로세스가 만들어지면 서비스 SID가 다음 특성을 사용하여 서비스 프로세스 토큰에 추가됩니다. SE_GROUP_ENABLED_BY_DEFAULT | SE_GROUP_OWNER.

설명

변경 내용은 다음에 시스템을 시작할 때 적용됩니다.

SCM은 프로세스 토큰에 지정된 서비스 SID와 다음 추가 SID를 추가합니다.

SID 특성
로그온 SID SE_GROUP_ENABLED | SE_GROUP_ENABLED_BY_DEFAULT | SE_GROUP_LOGON_ID | SE_GROUP_MANDATORY
로컬 SID SE_GROUP_MANDATORY | SE_GROUP_ENABLED | SE_GROUP_ENABLED_BY_DEFAULT
 

이를 통해 개발자는 LocalSystem 계정을 사용하여 액세스 권한을 얻는 대신 서비스에서 사용하는 개체에 대한 액세스를 제어할 수 있습니다.

LookupAccountNameLookupAccountSid 함수를 사용하여 서비스 이름과 서비스 SID 간에 변환합니다. 계정 이름은 다음과 같은 형식입니다.

NT SERVICE\SvcName

NT SERVICE는 도메인 이름입니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
머리글 winsvc.h(Windows.h 포함)

추가 정보

ChangeServiceConfig2

QueryServiceConfig2