29

Jenkins から sudo コマンドを実行すると、次のエラーが表示されますsudo: no tty present and no askpass program specified

ファイルにNOPASSWDエントリを追加することでこれを解決できることを理解しています。/etc/sudoersこれにより、ユーザーjenkinsがパスワードを必要とせずにコマンドを実行できるようになります。次のようなエントリを追加できます。

%jenkins ALL=(ALL)NOPASSWD:/home/me/dir/script.sh

...しかし、これは次の問題につながります: https://stackoverflow.com/questions/17414330/how-to-void-specifying-full-path-in-sudoers-file

次のようなエントリを追加できます。

%jenkins ALL=NOPASSWD: ALL

...しかし、これにより、ユーザーjenkinsはすべてのコマンドのパスワードプロンプトを回避できますが、これは少し安全ではないようです. ここに私のオプションが何であるか、そして考慮すべきベストプラクティスがあるかどうかに興味があります.

4

2 に答える 2

4

できることの 1 つは、Jenkins に「run.sh」などのスクリプトを実行させることです。次に、このスクリプト内から makefile を開始し、makefile 内に sudo コマンドがないことを確認します。

少し面倒ですが、少なくともセキュリティ設定を変更するリスクはありません

于 2015-03-12T10:50:17.437 に答える