私は makefile を使用していくつかのソースをコンパイルしようとしています。makefile には、として実行する必要がある一連のコマンドがありますsudo
。
ターミナルからソースをコンパイルすると、すべて正常に実行され、コマンドが初めて実行されるときにsudo
パスワードを待機して make が一時停止します。パスワードを入力すると、make が再開して完了します。
しかし、NetBeans でソースをコンパイルできるようにしたいのです。そこで、プロジェクトを開始し、NetBeans にソースの場所を示しましたが、プロジェクトをコンパイルするとエラーが発生します。
sudo: no tty present and no askpass program specified
初めてsudo
コマンドにヒットしたとき。
インターネットでこの問題を調べたところ、見つけた解決策はすべて、このユーザーのパスワードを無効にするというものでした。ここで問題となっているユーザーは root なので、私はそれをしたくありません。
他に解決策はありますか?
ベストアンサー1
パスワードを要求せずにユーザーにそのコマンドの使用を許可すると、問題は解決するはずです。まず、シェル コンソールを開いて次のように入力します。
sudo visudo
次に、そのファイルを編集して、一番最後に次のコードを追加します。
username ALL = NOPASSWD: /fullpath/to/command, /fullpath/to/othercommand
例えば
john ALL = NOPASSWD: /sbin/poweroff, /sbin/start, /sbin/stop
ユーザーはパスワードの入力を求められることなくsudojohn
を実行できるようになりますpoweroff
。start
stop
visudo で使用する必要があるキーストロークについては、画面の下部を確認してください (これは vi ではありません)。問題の兆候が見られたら、すぐに保存せずに終了してください。健康に関する警告: このファイルを破損すると深刻な結果を招く恐れがありますので、編集には注意してください。