sudoを使用してパスワードを要求せずに実行を許可する方法は?


15

コマンドラインで実行して結果を取得する必要があるJavaアプリケーションを作成していますが、コマンドを実行すると、sudoパスワードが要求されます。これまで私は試しました:

$ sudo -s
$ vim /etc/sudoers
# User privilege specification
root         ALL=(ALL:ALL) NOPASSWD: ALL
javauser     ALL=(ALL:ALL) NOPASSWD: ALL

:wq
$ 4 -r--r-----   1 root root     615 2011-10-26 09:23 sudoers

コマンドを実行すると、「[javauser] password for javauser:」と再度尋ねられます。しかし、私はすでにnoPASSWDについて言及しました。

whoami戻りalex、私はこれをsudoersファイルに追加しています

# User privilege specification
root    ALL=(ALL:ALL) ALL
alex ALL=NOPASSWD: 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

実行中にパスワードを聞かれますが、何かアイデアはありますか?


非常によく似た質問がすでにありますように見えます:askubuntu.com/questions/39281/...は -あなたはそこから答えを試してみましたか?
セルゲイ

Javaコードでは、システムコールで「sudo / absolute / path / to / command」を使用していることを確認してください。ところで セキュリティ上の理由から、sudoersファイルを編集するsudo visudo代わりに使用する必要がありvimます。そうすれば、間違えた場合にプログラムが警告します。
CON-F-使用

私が試した、まさにここで見つけることができます:gist.github.com/1315951

回答:


28

端末タイプで以下sudo visudoを実行し、sudoパスワードを入力せずに実行するコマンドを指定するファイルの最後にこのような行を追加する必要があります(プログラムで使用する各コマンドを使用することをお勧めしますこれによってすべてのプログラムが実行されることを許可するだけではありません)

<yourusername> ALL=NOPASSWD: <command1>, <command2>

これで、そのコマンドをで入力する限り、指定したコマンドをパスワードなしで実行できますsudo

つまり、shutdown -r now毎回sudoパスワードを入力せずに実行したい場合、ユーザー名は「joedoe」です

  1. タイプsudo visudo端末上

  2. ファイルの最後にjoedoe ALL=NOPASSWD: /usr/sbin/shutdown -r now新しい行として追加し、使用しようとしているプログラムへの絶対パスを使用します。

  3. プログラムではsudo shutdown -r now、sudoパスワードを入力しなくても使用できます。

which <program name>端末でを使用して、プログラムへの絶対パスを見つけることができます。

その非常に汚いトリックの願いは、あなたのシステムを他の危険にさらしたままにしておきますが、あなたはあなたが何をしていて、これを望んでいると推測しています。

編集

設定する許可がファイルの最後にあることを確認して、グループの許可によって何も上書きされないようにする必要があります。


彼はすでにそうしたようです。
con-f-use

彼がすでにそうしているのなら、sudoersファイルを編集するのではsudo visudoなくvim、使用するべきだと説明するのはなぜですか?彼がこれをした場合、それは動作するでしょう。
ブルーノペレイラ

1
@goOgleはsudo、コード内のコマンドの前に入力していますか?sudoersファイルでnopasswdを強制した場合でも、それを行う必要があります。すなわち:sudo <command>だけでなくを使用します<command>
ブルーノペレイラ

1
私にとってはcmd = "whoami"が返されbruno、cmd = "sudo whoami"が返されるroot
ブルーノペレイラ

3
それを見つけた!私の行がsudoersファイルの最後までない場合、これを再現できます。グループの割り当てなどの後、本当に最後の行!行をファイルの最後の行に移動します!(これがそれを望んでいた)。
ブルーノペレイラ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.