Sudo sem problema de senha

2

Tendo um problema com o sudo. Como o usuário forge , eu quero poder executar sudo service php5-fpm reload sem ter que digitar uma senha. Eu tentei todas as variantes abaixo.

forge   ALL=NOPASSWD: /usr/bin/service php5-fpm reload
forge   ALL=NOPASSWD: /usr/bin/service
forge   ALL=(ALL:ALL) NOPASSWD: /usr/bin/service
forge   ALL=(ALL:ALL) NOPASSWD: /usr/bin/service php5-fpm reload

Mas continua me pedindo uma senha. Tentei entrar e sair.

# tail /var/log/auth.log
Sep 16 09:28:19 apps sudo: pam_unix(sudo:auth): conversation failed
Sep 16 09:28:19 apps sudo: pam_unix(sudo:auth): auth could not identify password for [forge]

Este é o arquivo inteiro.

#
# 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        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification
Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig

# User privilege specification
root    ALL=(ALL:ALL) ALL
#forge  ALL=NOPASSWD: /usr/bin/service

# 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

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

#includedir /etc/sudoers.d

Usando o Ubuntu 14.04.1 LTS

$ which service
/usr/sbin/service

O problema:

$ sudo service 
[sudo] password for forge: 

Isso é o que funcionou.

visudo:

# Cmnd alias specification
Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig/, /usr/bin/service, /usr/sbin/service

/etc/sudoers.d/forge :

forge   ALL = (ALL) NOPASSWD:   SERVICES

Tentou mover o conteúdo do arquivo forge para visudo , mas isso não funcionou.

    
por Znarkus 15.09.2014 / 17:20

2 respostas

0

Tente seguir:

/etc/sudoers :

# grep -B1 'Cmnd_Alias SERVICES' /etc/sudoers
## Services
Cmnd_Alias SERVICES = /sbin/service, /sbin/chkconfig
# 

/etc/sudoers.d/forge :

# cat /etc/sudoers.d/forge
forge   ALL = (ALL) NOPASSWD:   SERVICES
# 

teste

[forge@localhost ~]$ sudo service
Usage: service < option > | --status-all | [ service_name [ command | --full-restart ] ]
[forge@localhost ~]$ 

Ajuste o caminho CORRETO para seu service , se necessário, isso pode variar dependendo da sua distribuição, para encontrar o caminho correto seguido:

$ which service
/sbin/service
$ 
    
por 15.09.2014 / 17:22
2

Você está dando o PATH errado para o binário. A saída which mostra que é /usr/sbin/service , mas você continua especificando /usr/bin/service em suas entradas sudoers .

Tente

forge   ALL=(ALL)     NOPASSWD: /usr/sbin/service
    
por 16.09.2014 / 10:57