Partager via


SERVICE_SID_INFO structure (winsvc.h)

Représente un identificateur de sécurité de service (SID).

Syntaxe

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

Membres

dwServiceSidType

Type DE SID de service.

Valeur Signification
SERVICE_SID_TYPE_NONE
0x00000000
Utilisez ce type pour réduire les problèmes de compatibilité des applications.
SERVICE_SID_TYPE_RESTRICTED
0x00000003
Ce type inclut SERVICE_SID_TYPE_UNRESTRICTED. Le SID de service est également ajouté à la liste DE SID restreinte du jeton de processus. Trois SID supplémentaires sont également ajoutés à la liste des SID restreints :
  • World SID S-1-1-0
  • SID d’ouverture de session de service
  • SID limité en écriture S-1-5-33
Un ACE qui autorise l’accès GENERIC_ALL pour le SID d’ouverture de session de service est également ajouté à l’objet de jeton de processus de service.

S’il existe plusieurs services hébergés dans le même processus et qu’un service a SERVICE_SID_TYPE_RESTRICTED, tous les services doivent avoir SERVICE_SID_TYPE_RESTRICTED.

SERVICE_SID_TYPE_UNRESTRICTED
0x00000001
Lorsque le processus de service est créé, le SID de service est ajouté au jeton de processus de service avec les attributs suivants : SE_GROUP_ENABLED_BY_DEFAULT | SE_GROUP_OWNER.

Remarques

La modification prend effet lors du prochain démarrage du système.

Le SCM ajoute les SID de service spécifiés au jeton de processus, ainsi que les SID supplémentaires suivants.

SID Attributs
SID d’ouverture de session SE_GROUP_ENABLED | SE_GROUP_ENABLED_BY_DEFAULT | SE_GROUP_LOGON_ID | SE_GROUP_MANDATORY
Local SID SE_GROUP_MANDATORY | SE_GROUP_ENABLED | SE_GROUP_ENABLED_BY_DEFAULT
 

Cela permet aux développeurs de contrôler l’accès aux objets utilisés par un service, au lieu de s’appuyer sur l’utilisation du compte LocalSystem pour obtenir l’accès.

Utilisez les fonctions LookupAccountName et LookupAccountSid pour effectuer une conversion entre un nom de service et un SID de service. Le nom du compte se présente sous la forme suivante :

NT SERVICE\SvcName

Notez que NT SERVICE est le nom de domaine.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
En-tête winsvc.h (inclure Windows.h)

Voir aussi

ChangeServiceConfig2

QueryServiceConfig2