web-dev-qa-db-ja.com

パスワードにパラメーターとしてSudoを使用する

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

Sudo -S mypassword execute_command

しかし、成功することなく。助言がありますか?

66
ccman

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

echo mypassword | Sudo -S command

パスワードをSudoに渡す

ただし、ユーザーがルートであるかどうかを確認するなど、コマンドの一部としてパスワードを渡す必要のない他の人からの提案は、おそらくセキュリティ上の理由からはるかに良いアイデアです

147
stonesam92

スクリプトにsビットを設定して、Sudoを必要とせずにrootとして実行されるように設定できます(スクリプトにrootパスワードを書き込む必要はありません)。

Sudo chmod +s myscript
45
perreal
echo -e "YOURPASSWORD\n" | Sudo -S yourcommand
22
matteomattei

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

2
Lucas Holt