Como rodar o tomcat6 no ubuntu como root?

2

Eu tenho um pacote de software existente que roda no Ubuntu que usa uma cadeia chroot e por isso precisa ser executado como root. Eu quero exec isso de um aplicativo da web java em execução no Tomcat6 no Ubuntu, então presumivelmente eu tenho que executar o Tomcat6 como root em vez do usuário Tomcat6.

Como faço para alterar o tomcat6 para executar como root em vez do usuário tomcat6?

    
por Hawkeye 26.04.2010 / 16:04

2 respostas

4

Eu estou supondo que isso está relacionado a uma pergunta anterior?

Ubuntu - processo de execução do usuário não-root na cadeia chroot?

Para executar o Tomcat como root ... *

Supondo que você tenha instalado o pacote tomcat6 do repositório do Ubuntu, edite o arquivo /etc/init.d/tomcat6 e altere a linha:

TOMCAT6_USER=tomcat6

para ler

TOMCAT6_USER=root

Dito isto ...

A execução do Tomcat como root não é recomendada em ambientes em que ele é acessível a clientes não confiáveis (por exemplo, a Internet). O problema é se o Tomcat ou um de seus aplicativos da Web executados nele forem explorados de alguma maneira que tenham acesso total ao sistema subjacente. por exemplo. Eles podem modificar arquivos, executar processos, etc.

Se as chances de isso forem pequenas, é melhor planejar o pior e esperar o melhor.

Uma abordagem mais segura é continuar executando o Tomcat como o usuário padrão do tomcat6 e fazer com que ele chame o processo externo e de raiz de maneira mais isolada. Como você faz isso depende do processo que está sendo chamado e do que precisa ocorrer.

Se você publicar informações sobre o processo que está sendo chamado, o que ele está fazendo e por que outras pessoas poderão ajudá-lo a identificar a melhor maneira de conseguir isso. Por exemplo, você pode configurar um monitor que execute a tarefa chrooted sempre que o conteúdo de um diretório for alterado ou um serviço da Web local que o Tomcat possa chamar para executar o processo.

    
por 26.04.2010 / 22:26
1

Você não poderia definir o bit do pacote executável do pacote de software? Isso sempre seria executado como o proprietário do arquivo, que seria root nesse caso.

Faça o binário executável por todos os usuários (ou pelo menos, um grupo que inclua tomcat6) e defina o bit pegajoso do usuário.

$ sudo chmod + x binário

OR

$ sudo chmod 750 binary // (com tomcat6 no grupo do grupo do arquivo)

então

$ sudo chmod u + s binário

Isso deve ser feito, a menos que não. Eu não tenho experiência prática com o chroot, mas em uma configuração padrão isso funcionaria.

Além disso, pode-se adicionar tomcat6 ao arquivo sudoers e permitir que ele execute este "binário" sem verificação de senha?

Pense nisso.

    
por 27.04.2010 / 18:41