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


45

Voici ce que je sais:

Je dois ajouter cette ligne ci-dessous dans le sudoersfichier 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 à cet utilisateur accès au redémarrage de 2 services (c'est Apache-à- dire et MySQL) avec tous les droits d'installation.

En utilisant la ligne ci-dessus, je lui ai donné tous les droits d'installation. Dois-je maintenant ajouter la même ligne deux fois de plus pour donner les droits aux services? Ou puis-je simplement ajouter ces commandes dans la même ligne, séparées par une virgule ou quelque chose?

Réponses:


48

J'ai résolu le problème en créant un nouveau groupe avec des droits d'administrateur limités ... le nom de ce groupe est LimitedAdminscelui après lequel j'ai mis à jour le sudoersfichier 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 /etc/sudoersfichier 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 au cas où votre système est un domaine ou non.


Vous n'êtes pas censé mettre des trucs après la #includedirligne, n'est-ce pas?
Hamstar

@hamstar Hey Salut! Oui, vous avez raison, vous utilisez ce fichier de configuration dans mon entreprise depuis maintenant plus de 2 ans et il fonctionne parfaitement. Je te recommande même de mettre les deux dernières lignes avant #includedir.
Hrish

3
Ou mieux, placez ces deux lignes dans un nouveau fichier sous /etc/sudoers.d au lieu de modifier / etc / sudoers.
Tgharold

@tgharold Oui mon pote !! Vous avez raison ... c’est vraiment une meilleure option que ce que j’ai suggéré ... :) Appréciez votre idée que vous allez essayer de mettre en œuvre chez moi également.
Hrish

Est-ce que #includedir est un commentaire? Ou l'inclinaison est-elle automatique et le commentaire nous le rappelle?
HeatfanJohn

12

Vous avez besoin d'une virgule.

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

La source


J'ai donné les droits comme vous l'avez mentionné, mais j'ai reçu le message d'erreur ci-dessous. <br/> E: impossible d'ouvrir le fichier de verrouillage / var / lib / dpkg / lock - open (13: autorisation refusée) <br/> E: impossible de verrouiller le répertoire d'administration (/ var / lib / dpkg /), vous enracinez? ... Quelqu'un peut-il aider à ce sujet?
Hrish

@Rishee, je vais essayer une fois chez moi
Karthik T

mon fichier sudores contient les éléments mentionnés ci-dessous.
Hrish

# Spécification de privilèges utilisateur root ALL = (ALL: ALL) ALL # Les membres du groupe d'admin peuvent obtenir les privilèges root% admin ALL = (ALL) ALL # Autoriser les membres du groupe sudo à exécuter une commande% sudo ALL = (ALL: ALL) ALL #includedir /etc/sudoers.d $ sudo nano / etc / sudoers% nom_domaine \\ administrateurs ALL = (ALL) ALL% nom_domaine \\ utilisateur.nom ALL = NOPASSWD: / usr / bin / apt-get install, / etc /init.d/apache2 restart
Hrish

2

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

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

À l'intérieur: /etc/sudoers.d/666-prtg

(666, parce que ... bien ... prtg EST un outil de surveillance sous Windows que vous connaissez)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.