Execute o Tomcat7 como usuário tomcat7 (ou qualquer outro)

8

Qual será a maneira recomendada de garantir que uma instância do Tomcat7 esteja sendo executada como o usuário do tomcat7 (ou qualquer outro)?

Suponho que posso modificar tomcat7-instance/bin/startup.sh e tomcat7-instance/bin/shutdown.sh e adicionar 'su tomcat7' no topo.

No Tomcat6, acho que foi a variável de ambiente TOMCAT6_USER .

    
por Adrian Ber 06.11.2013 / 01:21

2 respostas

11

A maneira mais comum é instalar o pacote padrão tomcat7 com apt-get e iniciá-lo usando:

sudo service tomcat7 start

O usuário e o grupo padrão estão configurados em /etc/default/tomcat7 , como você pode ver neste trecho:

# Run Tomcat as this user ID. Not setting this or leaving it blank will use the
# default of tomcat7.
TOMCAT7_USER=tomcat7

# Run Tomcat as this group ID. Not setting this or leaving it blank will use
# the default of tomcat7.
TOMCAT7_GROUP=tomcat7
    
por David Levesque 06.11.2013 / 03:33
9

EDIT: Por favor, leia os comentários abaixo! Esta solução pode não ser aplicável a todas as situações.

A resposta aceita é ótima, mas desde que eu rodei o Tomcat 7 no Ubuntu 14.04 havia algumas coisas adicionais que eu precisava fazer para colocar tudo em ordem:

  1. Você precisa interromper o serviço do tomcat antes de editar o arquivo /etc/default/tomcat7 . Depois de alterar o usuário e o grupo, não será mais possível interromper um serviço usando o usuário antigo.
  2. Altere o usuário e o grupo no arquivo /etc/default/tomcat7

  3. Você precisa alterar a propriedade da pasta /var/log/tomcat7 e todos os seus arquivos. Por favor, note que é uma vantagem manter o grupo adm para que todos os usuários adm possam ler os registros.

    sudo chown -R newuser:adm /var/log/tomcat7

  4. Alterar a propriedade da pasta /var/lib/tomcat7/webapps

    sudo chown -R newuser:newgroup /var/lib/tomcat7/webapps

  5. Se estiver executando na porta 80/443 no Ubuntu 14.04, você precisa alterar a propriedade dos arquivos authbind:

    sudo chown newuser /etc/authbind/byport/80

    sudo chown newuser /etc/authbind/byport/443

  6. Alterar a propriedade da pasta de trabalho

    sudo chown newuser:adm /var/cache/tomcat7

    sudo chown -R newuser:newgroup /var/cache/tomcat7/Catalina

  7. Torne os arquivos de configuração legíveis. Aqui você tem duas opções: Adicione seu novo usuário ao grupo tomcat7:

    sudo usermod -a -G tomcat7 newuser

    ... ou altere a propriedade dos arquivos de configuração:

    sudo chown -R :newgroup /var/lib/tomcat7/conf/*

  8. Se você tiver outros arquivos acessados por seus aplicativos da Web, como arquivos de configuração de arquivos de registro, etc., será necessário alterar a propriedade desses arquivos também.

  9. Agora, tudo deve estar pronto para iniciar o serviço novamente com o novo usuário.
por stenix 24.09.2014 / 11:03

Tags