Como: Especificar o contexto de segurança para serviços
Nota
Este artigo não se aplica a serviços hospedados no .NET. Para obter o conteúdo mais recente sobre os serviços do Windows que usam Microsoft.Extensions.Hosting.BackgroundService e o modelo Serviço de Trabalho, consulte:
Por padrão, os serviços são executados em um contexto de segurança diferente do do usuário conectado. Os serviços são executados no contexto da conta padrão do sistema, chamada LocalSystem
, que lhes dá privilégios de acesso aos recursos do sistema diferentes do usuário. Você pode alterar esse comportamento para especificar uma conta de usuário diferente sob a qual o serviço deve ser executado.
Você define o contexto de segurança manipulando a Account propriedade para o processo no qual o serviço é executado. Esta propriedade permite que você defina o serviço para um dos quatro tipos de conta:
User
, que faz com que o sistema solicite um nome de utilizador e uma palavra-passe válidos quando o serviço é instalado e executado no contexto de uma conta especificada por um único utilizador na rede;LocalService
, que é executado no contexto de uma conta que atua como um usuário não privilegiado no computador local e apresenta credenciais anônimas para qualquer servidor remoto;LocalSystem
, que é executado no contexto de uma conta que fornece amplos privilégios locais e apresenta as credenciais do computador a qualquer servidor remoto;NetworkService
, que é executado no contexto de uma conta que atua como um usuário não privilegiado no computador local e apresenta as credenciais do computador a qualquer servidor remoto.
Para obter mais informações, consulte a ServiceAccount enumeração.
Para especificar o contexto de segurança de um serviço
Depois de criar o seu serviço, adicione os instaladores necessários para ele. Para obter mais informações, consulte Como adicionar instaladores ao seu aplicativo de serviço.
No designer, acesse a
ProjectInstaller
classe e clique no instalador do processo de serviço para o serviço com o qual você está trabalhando.Nota
Para cada aplicativo de serviço, há pelo menos dois componentes de
ProjectInstaller
instalação na classe — um que instala os processos para todos os serviços no projeto e um instalador para cada serviço que o aplicativo contém. Neste caso, você deseja selecionar ServiceProcessInstaller.Na janela Propriedades, defina o Account para o valor apropriado.