web-dev-qa-db-ja.com

Ubuntu 13.10でパスワードなしで特定のSudoコマンドを実行する

パスワードの入力を求められずにvagrantを実行したい。この投稿が示唆するように、visudoを使用して、次の行をsudoersファイルに追加しました。

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

これは機能しないようです。 vagrantを使用すると、パスワードの入力を求められます。私は何か間違っていますか?

2
fallingplates

試してみる

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

ホストをホスト名に変更する必要があります(おそらくjohn-mozも)

1
Noosrep

Vagrant自体は/ etc/exportsを変更してNFSサーバーを再起動するために多くのSudoコマンドを実行します。あなたのルールはこれらのどれにも一致しません。

使用されるコマンドは、ホストOSとVagrantのバージョンによって異なりますが、 this Gist のルールはまだかなり近いはずです。 /var/log/auth.logにあるバージョンのコマンドを見ることができます。

願わくば、将来のVagrantバージョンがこれらすべてをバンドルされたスクリプトに抽出するので、Sudoパーミッションを追加するだけで済みます。

1
tmatilai

vagrantが実際にどこにあるかを確認してください:which vagrant。たぶん、gemとしてインストールされているかもしれません(Vagrantをインストールするための古い方法です)。

ただし、Vagrantをルートとして実行しないでください。なぜ必要なのですか?

1
tmatilai