web-dev-qa-db-fra.com

Exécutez une commande Sudo spécifique sans mot de passe dans Ubuntu 13.10

Je voudrais exécuter vagrant sans être invité à entrer un mot de passe. Comme ce post le suggère, j'ai utilisé visudo pour ajouter la ligne suivante à mon fichier sudoers.

john-moz ALL=(ALL) NOPASSWD: /usr/bin/vagrant

Ça n'a pas l'air de fonctionner. Je suis toujours invité à entrer un mot de passe lors de l'utilisation de vagrant. Est-ce que je fais quelque chose de mal?

2
fallingplates

Essayer

john-moz Host = (root) NOPASSWD: /usr/bin/vagrant

Vous devez changer Host en votre nom d'hôte (probablement aussi john-moz)

1
Noosrep

Vagrant lui-même exécute de nombreuses commandes Sudo pour modifier/etc/exports et redémarrer le serveur NFS. Votre règle ne correspond à aucun de ces éléments.

Les commandes utilisées varient entre les OS hôtes et les versions de Vagrant, mais les règles de this Gist devraient toujours être assez proches. Vous pouvez probablement voir les commandes de votre version dans /var/log/auth.log.

Espérons qu'une future version de Vagrant extraira tout cela dans un script fourni, vous n'avez donc qu'à ajouter des autorisations Sudo à cela.

1
tmatilai

Vérifiez où vagrant se trouve réellement: which vagrant. Vous l'avez peut-être installé en tant que gemme (ce qui est désormais un moyen obsolète d'installer Vagrant).

Mais vous ne devriez jamais exécuter Vagrant en tant que root. Pourquoi devriez-vous le faire?

1
tmatilai