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 リストには、次の 3 つの SID も追加されます。
  • World SID S-1-1-0
  • サービス ログオン SID
  • 書き込み制限付き SID S-1-5-33
サービス ログオン SID のGENERIC_ALLアクセスを許可する 1 つの ACE も、サービス プロセス トークン オブジェクトに追加されます。

同じプロセスで複数のサービスがホストされていて、1 つのサービスが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 アカウントを使用してアクセスを取得するのではなく、サービスが使用するオブジェクトへのアクセスを制御できます。

サービス名とサービス SID の間で変換するには、 LookupAccountName 関数と LookupAccountSid 関数を使用します。 アカウント名は次の形式です。

NT SERVICE\SvcName

NT SERVICE はドメイン名であることに注意してください。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
Header winsvc.h (Windows.h を含む)

こちらもご覧ください

ChangeServiceConfig2

QueryServiceConfig2