run 'serviço php5-fpm restart' sem usar o sudo

1

Estou integrando meus projetos cakephp usando jenkins.

Neste momento, estou explorando o uso do Phing. Existe uma tarefa em que preciso executar

service php5-fpm restart

Até agora eu tentei fazer isso manualmente. Eu não posso fazer isso a menos que eu faça isso com sudo

Por favor, informe como posso executar este comando sem usar o sudo?

Eu sei que existe uma opção onde eu posso simplesmente colocar o usuário que o Phing está usando dentro de sudoers e então não pedir a senha, mas por razões de segurança, isso não é o ideal. Então, eu prefiro perguntar como fazer isso sem ser solicitado a senha.

    
por Kim Stacks 30.12.2012 / 10:59

1 resposta

3

O último parágrafo da sua pergunta é enganoso, pelo menos para mim. Se o seu objetivo é encontrar uma maneira de invocar service como usuário Phing sem ser solicitada uma senha, eu faria isso com sudo . Vou tentar responder a sua pergunta como eu a entendo, já que não entendo o que fala contra o uso de sudo no seu caso.

Basta adicionar a linha

Defaults        exempt_group=Phing

para /etc/sudoers . Esta linha adiciona o usuário Phing a um grupo no qual sudo não estabelece requisitos de caminho e senha.

Além disso, você precisa adicionar a linha

Phing ALL=(root) /full/path/to/service

ou altere uma linha existente de Phing , para que sudo conceda acesso a service .

Depois disso

sudo service php5-fpm restart

não deve pedir Phing por uma senha longa.

Se você quiser um pouco mais rigoroso, adicione a linha

Phing ALL=(root) NOPASSWD: /full/path/to/service

sem usar exempt_group . Então você tem que dar sudo o caminho completo de service (se não estiver localizado nos caminhos padrão), então o spoofing de comando não é possível.

Se você quiser salvar alguma digitação, você também pode alias sudo service ou sudo /full/path/to/service no seu shell com service .

    
por 30.12.2012 / 11:42