Configurer sudo pour fonctionner sans mot de passe

8

J'essaie de configurer sudo pour permettre à tous les utilisateurs de redémarrer apache sans avoir à entrer de mot de passe.

Mis à part les problèmes de sécurité, pourquoi cela ne fonctionne-t-il pas?

J'ai ajouté la ligne à / etc / sudoers: %admin ALL=NOPASSWD: /usr/sbin/apache2ctl

$sudo -l
User aidan may run the following commands on this host:
    (root) NOPASSWD: /usr/sbin/apache2ctl
    (ALL) ALL

$sudo /usr/sbin/apache2ctl
[sudo] password for aidan:

Merci pour toute aide.

aidan
la source
Dans mes tests sur Ubuntu 9.10, cela a fonctionné. Vous souhaitez publier l'intégralité de votre fichier sudoers (expurgations autorisées)?
Scott Pack

Réponses:

6

Cela devrait fonctionner correctement en supposant que vous ayez mis la règle %admin ALL=NOPASSWD: /usr/sbin/apache2ctl après ALL et votre objectif est que les utilisateurs du groupe admin nécessitent un mot de passe pour sudo pour tout sauf la commande apache2ctl.

Cependant, ce que vous attendez probablement de ce que vous avez dit, c'est un groupe d'utilisateurs qui peuvent démarrer et arrêter apache, par exemple apachestart. Alors:

%apachestart ALL= NOPASSWD: /usr/sbin/apache2ctl

Je pense que vous pourriez être en mesure de faire vraiment tout le monde en remplaçant% apachestart par ALL, mais je le recommanderais encore moins.

Kyle Brandt
la source
4
Vous devez uniquement vous déconnecter et vous connecter dans cette configuration si vous modifiez les groupes de l'utilisateur connecté. (En fait, vous n'avez même pas besoin de le faire; vous pouvez utiliser newgrppour changer de groupe.)
MikeyB
Génial, merci. Je l'avais avant la règle ALL. Je ne pensais pas que cela importait parce que je pouvais voir ma nouvelle règle danssudo -l
aidan