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
其中一個 ACE 允許GENERIC_ALL服務登入 SID 的存取權,也會新增至服務進程令牌物件。

如果相同進程中裝載多個服務,且一個服務有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