Tjänstanvändarkonton
Varje tjänst körs i säkerhetskontexten för ett användarkonto. Användarnamnet och lösenordet för ett konto anges av funktionen CreateService när tjänsten installeras. Användarnamnet och lösenordet kan ändras med hjälp av funktionen ChangeServiceConfig. Du kan använda funktionen QueryServiceConfig för att hämta användarnamnet (men inte lösenordet) som är associerat med ett tjänstobjekt. Tjänstkontrollhanteraren (SCM) läser automatiskt in användarprofilen.
När du startar en tjänst loggar SCM in på det konto som är associerat med tjänsten. Om inloggningen lyckas skapar systemet en åtkomsttoken och kopplar den till den nya tjänstprocessen. Den här token identifierar tjänstprocessen i alla efterföljande interaktioner med skyddsbara objekt (objekt som har en säkerhetsbeskrivning associerad med dem). Om tjänsten till exempel försöker öppna ett handtag till ett rör jämför systemet tjänstens åtkomsttoken med rörets säkerhetsbeskrivning innan åtkomst beviljas.
SCM underhåller inte lösenorden för tjänstanvändarkonton. Om ett lösenord har upphört att gälla misslyckas inloggningen och tjänsten startar inte. Systemadministratören som tilldelar konton till tjänster kan skapa konton med lösenord som aldrig upphör att gälla. Administratören kan också hantera konton med lösenord som upphör att gälla med hjälp av ett tjänstkonfigurationsprogram för att regelbundet ändra lösenorden.
Om en tjänst behöver identifiera en annan tjänst innan den delar sin information kan den andra tjänsten antingen använda samma konto som den första tjänsten, eller så kan den köras i ett konto som tillhör ett alias som identifieras av den första tjänsten. Tjänster som måste köras på ett distribuerat sätt i nätverket bör köras i domänomfattande konton.
Du kan ange något av följande särskilda konton i stället för att ange ett användarkonto för tjänsten: