sudoのパスワードを求めるプロンプトを表示し、bashスクリプトでプログラムで権限を上げますか?

sudoのパスワードを求めるプロンプトを表示し、bashスクリプトでプログラムで権限を上げますか?

私は現在、既存のLinuxシステム(現在Ubuntu)にさまざまなプログラムをインストールして設定するためのbashスクリプトを作成しています。プログラムをインストールし、高い権限を必要とするさまざまなフォルダに多くのファイルをコピーするため、「高い権限が必要です」という標準を実行して終了しました。

ただし、可能であれば、ユーザーがsudoを使用せずにスクリプトコマンド(GUIファイルマネージャで実行など)を実行しない場合、ユーザーにsudoパスワードの入力を求め、スクリプトの権限を自動的に昇格させることができます。ユーザーはスクリプトを再起動する必要があります。

デフォルトのLinuxインストールで実行するように設計されているため、システムの変更オプションは私の目的には合いません。すべてのオプションはスクリプト自体に含める必要があります。

Bashでこれは可能ですか?それでは、これを行うための最良の(安全だが簡潔な)方法は何ですか?

ベストアンサー1

sudoスクリプトから直接実行します。

if [ $EUID != 0 ]; then
    sudo "$0" "$@"
    exit $?
fi

おすすめ記事