93

スクリプトに使用できるように、パスワードをパラメーターとして sudo を実行したいと思います。私は試した

sudo -S mypassword execute_command

しかし、何の成功もありません。助言がありますか?

4

5 に答える 5

208

-S スイッチは、sudo に STDIN からパスワードを読み取らせます。これは、あなたができることを意味します

echo mypassword | sudo -S command

パスワードをsudoに渡す

ただし、ユーザーが root かどうかを確認するなど、コマンドの一部としてパスワードを渡すことを含まない他の人による提案は、セキュリティ上の理由からおそらくはるかに優れたアイデアです。

于 2012-08-14T15:08:51.353 に答える
59

sスクリプトのビットを設定してsudo、root として実行する必要がないようにすることができます (スクリプトに root パスワードを記述する必要はありません)。

sudo chmod +s myscript
于 2012-08-14T15:09:11.137 に答える
27
echo -e "YOURPASSWORD\n" | sudo -S yourcommand
于 2012-08-14T15:08:35.747 に答える
4

1 つのオプションは、sudo に -A フラグを使用することです。これにより、パスワードを要求するプログラムが実行されます。尋ねるのではなく、パスワードを吐き出すだけのスクリプトを作成して、プログラムを続行できるようにすることができます。

于 2012-08-14T15:10:37.353 に答える
-4
# Make sure only root can run our script
if [ "$(id -u)" != "0" ]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi
于 2012-08-14T15:12:37.810 に答える