3

誰かがsudoユーザーを介してシェルスクリプトを実行する例を挙げられますか?

こんな感じでやってみました。

sudo / usr / local / sbin / deploy | ./tmp/cp1.sh

上記のスクリプトは、sudoユーザーではなく通常のユーザーとして実行されます。

4

2 に答える 2

6

このコマンドを使用すると、deployスクリプトはrootユーザーの下で実行されますが、./tmp/cp1.shスクリプトは現在の特権の下で現在のシェルによって実行されます。これを回避するには、両方の前にsudoを付けることができます。

sudo /usr/local/sbin/deploy | sudo ./tmp/cp1.sh

または、sudo内からシェルを生成して、シェルがすでにrootとして実行されているようにすることもできます。

sudo sh -c '/usr/local/sbin/deploy | ./tmp/cp1.sh'
于 2009-11-16T15:42:50.380 に答える
0

問題は、これを行うには、sudo パスワードが必要であり、sudoers ファイルに存在する必要があることです。そうしないと、失敗します。ただし、gksudo (sudo のグラフィカル バージョン) を使用してみると、呼び出されたときにパスワードが要求されます。

于 2009-11-16T15:44:53.967 に答える