スクリプトに使用できるように、パスワードをパラメーターとして sudo を実行したいと思います。私は試した
sudo -S mypassword execute_command
しかし、何の成功もありません。助言がありますか?
-S スイッチは、sudo に STDIN からパスワードを読み取らせます。これは、あなたができることを意味します
echo mypassword | sudo -S command
パスワードをsudoに渡す
ただし、ユーザーが root かどうかを確認するなど、コマンドの一部としてパスワードを渡すことを含まない他の人による提案は、セキュリティ上の理由からおそらくはるかに優れたアイデアです。
s
スクリプトのビットを設定してsudo
、root として実行する必要がないようにすることができます (スクリプトに root パスワードを記述する必要はありません)。
sudo chmod +s myscript
echo -e "YOURPASSWORD\n" | sudo -S yourcommand
1 つのオプションは、sudo に -A フラグを使用することです。これにより、パスワードを要求するプログラムが実行されます。尋ねるのではなく、パスワードを吐き出すだけのスクリプトを作成して、プログラムを続行できるようにすることができます。
# 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