Voici ce que je sais:
Je dois ajouter la ligne ci-dessous dans le fichier sudoers
pour accorder 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-à-dire Apache
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?
J'ai résolu le problème en créant un nouveau groupe doté de droits d'administration limités ... le nom de ce groupe est LimitedAdmins
après que j'ai 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 complet /etc/sudoers
:
# 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 avez besoin d'une virgule.
Cmnd_Alias PRINTING =/usr/sbin/lpc,/usr/bin/lprm
...
user3 ALL = PRINTING
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 IS un outil de surveillance basé sur Windows que vous connaissez)