Como dar acesso nopasswd a múltiplos comandos via sudoers?

35

Abaixo está o que eu sei:

Eu tenho que adicionar esta linha abaixo no arquivo sudoers para dar direitos ao usuário para uma tarefa específica.

user_name ALL=NOPASSWD: /usr/bin/apt-get install

Nesse caso, desejo dar acesso a esse usuário para reiniciar dois serviços (por exemplo, Apache e MySQL ) com todos os direitos de instalação.

Usando a linha acima, eu dei a ele todos os direitos de instalação, agora eu tenho que adicionar a mesma linha mais duas vezes para dar os direitos de serviços? Ou posso adicionar esses comandos na mesma linha, separados por vírgula ou algo assim?

    
por Hrish 23.01.2013 / 05:41

3 respostas

43

Eu resolvi o problema criando um novo grupo para direitos de administrador limitados ... o nome desse grupo é LimitedAdmins depois que eu atualizei o arquivo sudoers como abaixo.

A linha que eu adicionei é:

%LimitedAdmins ALL=NOPASSWD: /usr/bin/apt-get*, /etc/init.d/apache2 restart

Este é o arquivo /etc/sudoers completo:

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

# 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  

#includedir /etc/sudoers.d
%domain_name\administrators ALL=(ALL) ALL
%LimitedAdmins ALL=NOPASSWD: /usr/bin/apt-get*, /etc/init.d/apache2 restart

Funciona perfeitamente bem, caso o seu sistema seja de domínio ou não.

    
por Rishee 04.02.2013 / 21:17
8

Parece que a vírgula é o que você precisa.

  

IMPRESSÃO Cmnd_Alias ​​= / usr / sbin / lpc, / usr / bin / lprm
  ...
  user3 ALL = IMPRESSÃO

Fonte

    
por Karthik T 23.01.2013 / 05:55
2

O que acabei fazendo foi (parecido com o que você está procurando):

## PRTG monitoring
Cmnd_Alias PRTG = /bin/cat /proc/loadavg, /bin/df, /var/prtg/scripts/check_proc.sh
prtg ALL = NOPASSWD: PRTG

Dentro de: /etc/sudoers.d/666-prtg

(666, porque ... bem ... o prtg é uma ferramenta de monitoramento baseada no Windows que você conhece)

    
por Mark Maas 06.11.2015 / 12:50