Comment donner accès à nopasswd à plusieurs commandes via sudoers?

36

Ci-dessous ce que je sais:

Je dois ajouter cette ligne dans le fichier sudoers pour donner des droits à l'utilisateur pour une tâche particulière.

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

Dans ce cas, je souhaite donner accès à cet utilisateur pour qu'il redémarre 2 services (c.-à-d. Apache et MySQL ) avec tous les droits d'installation.

En utilisant la ligne ci-dessus, je lui ai donné tous les droits d’installation, est-ce que je dois ajouter deux fois la même ligne pour donner les droits aux services? Ou puis-je ajouter ces commandes dans la même ligne, séparées par une virgule ou quelque chose?

    
posée Hrish 23.01.2013 - 05:41
la source

3 réponses

44

J'ai résolu le problème en créant un nouveau groupe pour les droits d’administrateur limités. Le nom de ce groupe est LimitedAdmins après avoir mis à jour le fichier sudoers comme ci-dessous.

La ligne que j'ai ajoutée est la suivante:

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

Ceci est le fichier /etc/sudoers complet:

# 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

Cela fonctionne parfaitement si votre système est du domaine ou non.

    
réponse donnée Rishee 04.02.2013 - 21:17
la source
8

On dirait que la virgule est ce dont vous avez besoin.

  

Cmnd_Alias ​​IMPRESSION = / usr / sbin / lpc, / usr / bin / lprm
  ...
  user3 ALL = IMPRESSION

Source

    
réponse donnée Karthik T 23.01.2013 - 05:55
la source
2

Ce que j'ai fini par faire était (similaire à ce que vous cherchez):

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

Inside: /etc/sudoers.d/666-prtg

(666, car ... eh bien ... prtg est un outil de surveillance basé sur Windows que vous connaissez)

    
réponse donnée Mark Maas 06.11.2015 - 12:50
la source

Lire d'autres questions sur les étiquettes