Como executo o serviço Tomcat como um usuário específico no Windows?

1

Eu precisava fazer isso para que o Tomcat pudesse tirar proveito de algumas coisas do Active Directory, e foi preciso muita pesquisa para organizar todos os bits niggly. Espero que, se eu responder a minha própria pergunta aqui, isso irá poupar outros problemas.

  • Como executo o Tomcat 7/8 / N como um serviço?
  • Como eu digo ao serviço TomcatN em qual usuário fazer login?
  • Como concedo permissões de usuário?
por AndrewK 20.11.2014 / 20:56

1 resposta

5

Ao digitar comandos, você deve fazê-lo como administrador. Por exemplo. no menu Iniciar do Windows, digite cmd , clique com o botão direito do mouse em cmd.exe ou Command Prompt , e selecione Run as administrator .

Instale o TomcatN como um serviço:

Basta executar c:\path\to\TomcatN\bin\service.bat do tomcat e dar a ele um nome de serviço a ser usado, por exemplo, Tomcat8 . Ou

sc Create TomcatN binPath= "c:\path\to\TomcatN\bin\tomcatN.exe" displayName= "Apache Tomcat N"

Defina o serviço para ser executado como um usuário específico:

Na maioria das vezes você não precisa disso. Mas às vezes você precisa acessar a rede do Windows como um usuário registrado. Por exemplo, se você estiver aproveitando alguma funcionalidade do Active Directory. pode funcionar para usar o seguinte:

C:\path\to\tomcatN\bin\service.bat install TomcatN --user=George --password=abc123

Mas provavelmente não. Você pode configurar o serviço manualmente.

Configure manualmente o serviço para usar um nome de usuário e senha específicos:

No prompt de comando do Windows, você pode usar o configurador de serviços. Alguns comandos de interesse:

sc
sc query TomcatN
sc qc TomcatN
sc config TomcatN obj= "MyHostName\George" password= "abc123"

Tome cuidado para anotar o espaço que vem após os sinais de igual no último comando.

Certifique-se de que o usuário tenha permissões:

Digite o comando gpedit.msc . Na GUI exibida, navegue até

Local Computer Policy                  | ...
    - Computer Configuration           | ...
        - Windows Settings             | []Log on as a service
            - Security Settings        | ...
                User Rights Assignment | ...

Clique duas vezes em Log on as a service e Add User or Group... . Tipo a abreviação do nome de usuário que você deseja que o serviço use no campo, clique em Check Names e pressione OK.

Confirme se o TomcatN está sendo executado como pretendido:

Você pode usar os seguintes comandos para iniciar, parar e verificar o status do serviço:

net start TomcatN
net stop TomcatN
sc query TomcatN

Verificando se o login funciona conforme planejado

Verifique se você iniciou o serviço em execução. Abra o Gerenciador de Tarefas do Windows e visualize a guia Processos. Clique em Show processes from all users , se necessário. TomcatN deve ser listado, com o nome de usuário que você especificou ao lado dele.

    
por 20.11.2014 / 20:56