Adicionar grupo a sudoers não tem efeito

3

Estou tentando conceder acesso ao grupo www-data a certos comandos sob sudo (ou seja, reiniciar o Apache) e não estou tendo sorte. Passei a maior parte da sexta-feira investigando essa questão e devo ter visto 20 postagens de fóruns e tópicos SO / SF relacionados ao assunto sem sorte.

A seguir está o meu arquivo sudoers (editado via visudo).

#
# This file MUST be edited with the 'visudo' command as root
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.

Defaults        !requiretty
Defaults        env_reset
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:$

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# Allow members of www-data group access to apache
%www-data ALL= NOPASSWD: /usr/bin/service apache2 *

# See sudoers(5) for more information on "#include" directive

Se eu fizer login como meu usuário jenkins (que faz parte do grupo www-data, conforme mostrado abaixo);

root@ip-REDACTED:~# groups jenkins
jenkins : www-data jenkins

Não consigo executar o "serviço sudo apache2 restart", conforme mostrado abaixo.

jenkins@REDACTED:/root$ sudo service apache restart
[sudo] password for jenkins: 
jenkins is not allowed to run sudo on ip-REDACTED.  This incident will be reported.

Jenkins não faz parte do grupo sudo, mas eu não quero que seja como então ele terá acesso a tudo. Além disso, não parece estar pegando o sinalizador NOPASSWD que foi configurado em sudoers. Eu tentei tudo o que posso pensar neste momento e estou chegando em branco. Pode valer a pena mencionar que isso está sendo executado em uma instância do EC2, o EC2 impõe restrições adicionais sobre o que pode ser feito com o arquivo sudoers?

Obrigado antecipadamente.

    
por SuperCabbage 30.09.2013 / 10:55

1 resposta

1

Tente uma definição Cmnd_Alias :

Cmnd_Alias  APACHE_CMD = /usr/sbin/service apache2 restart
%www-data   ALL = (root)NOPASSWD: APACHE_CMD

Verifique se o caminho para o executável service está correto.

Você também pode verificar a definição sudoers no seu arquivo /etc/nsswitch.conf e verificar se ela contém o atributo files :

sudoers:  files ldap sss
    
por 30.09.2013 / 11:24

Tags