Confus sur les comptes LocalSystem et LocalService

Je suis nouveau à la programmation de services Windows. J’ai de la confusion quant à la définition du type de compte lors de l’écriture d’un service Windows.

Comment choisir ou comment déterminer le type de compte à définir lors de l’écriture d’un service?

Nous créons généralement des comptes spéciaux (locaux pour un access local uniquement ou compte de domaine pour les éléments devant s’authentifier sur le réseau) pour exécuter des services personnalisés. De cette façon, nous pouvons restreindre et verrouiller les permissions pour nous assurer qu’elle n’a access qu’à ce dont nous avons besoin. Vous pouvez également voir quels utilisateurs spécifiques sont des coupables ou des ressources accaparant avec la surveillance sur un serveur partagé.

Quant aux comptes intégrés …

Système local: le compte d’utilisateur LocalSystem intégré a un niveau élevé de privilèges d’access; il fait partie du groupe Administrateurs.

Service réseau: le compte d’utilisateur du service réseau intégré a moins de privilèges d’access sur le système que le compte d’utilisateur LocalSystem, mais le compte d’utilisateur du service réseau peut toujours interagir sur le réseau avec les informations d’identification du compte d’ordinateur.

Service local: le compte d’utilisateur du service local intégré dispose de moins de privilèges d’access sur l’ordinateur que le compte d’utilisateur du service réseau, et ces privilèges sont limités à l’ordinateur local. Utilisez le compte d’utilisateur du service local si le processus de travail ne nécessite pas d’access en dehors du serveur sur lequel il s’exécute. Source (s): Microsoft Technet

Système local

Le compte LocalSystem est un compte local prédéfini utilisé par le gestionnaire de contrôle de service. Ce compte n’est pas reconnu par le sous-système de sécurité, vous ne pouvez donc pas spécifier son nom dans un appel à la fonction LookupAccountName.

Il dispose de privilèges étendus sur l’ordinateur local et agit en tant qu’ordinateur sur le réseau. Son jeton inclut les SID NT AUTHORITY \ SYSTEM et BUILTIN \ Administrators; Ces comptes ont access à la plupart des objects système. Le nom du compte dans tous les parameters régionaux est. \ LocalSystem. Le nom, LocalSystem ou ComputerName \ LocalSystem peut également être utilisé. Ce compte n’a pas de mot de passe. Si vous spécifiez le compte LocalSystem dans un appel à la fonction CreateService ou ChangeServiceConfig, toutes les informations de mot de passe que vous fournissez sont ignorées.

NetworkService

Le compte NetworkService est un compte local prédéfini utilisé par le gestionnaire de contrôle de service. Ce compte n’est pas reconnu par le sous-système de sécurité, vous ne pouvez donc pas spécifier son nom dans un appel à la fonction LookupAccountName. Il dispose de privilèges minimum sur l’ordinateur local et agit en tant qu’ordinateur sur le réseau.

Ce compte peut être spécifié dans un appel aux fonctions CreateService et ChangeServiceConfig. Notez que ce compte n’a pas de mot de passe, de sorte que les informations de mot de passe que vous fournissez dans cet appel sont ignorées. Alors que le sous-système de sécurité localise ce nom de compte, le SCM ne prend pas en charge les noms localisés. Par conséquent, vous recevrez un nom localisé pour ce compte à partir de la fonction LookupAccountSid, mais le nom du compte doit être NT AUTHORITY \ NetworkService lorsque vous appelez CreateService ou ChangeServiceConfig, indépendamment des parameters régionaux, ou des résultats inattendus peuvent se produire.

Un service qui s’exécute dans le contexte du compte NetworkService présente les informations d’identification de l’ordinateur aux serveurs distants. Par défaut, le jeton distant contient des SID pour les groupes Everyone et Authenticated Users. Le SID de l’utilisateur est créé à partir de la valeur SECURITY_NETWORK_SERVICE_RID.

Le compte NetworkService a sa propre sous-clé sous la clé de Registre HKEY_USERS. Par conséquent, la clé de Registre HKEY_CURRENT_USER est associée au compte NetworkService.