スクリプトが多数の sudo 呼び出しを行う場合、パスワードを 1 回だけ入力してください

スクリプトが多数の sudo 呼び出しを行う場合、パスワードを 1 回だけ入力してください

たくさんのパッケージをダウンロード、ビルド、インストールするスクリプトを書いています。ビルドには時間がかかることがあり、インストールにはルート権限が必要です。

作成; sudo インストール

ビルドに時間がかかると、パスワードを入力し続ける必要があることがよくあります。パスワードは 1 回だけ入力できるようにしたいです。スクリプトをルート アクセスで呼び出すこともできますが、その場合 (私の理解では)、すべての呼び出しがルート権限で行われることになります。そうすると、たとえば、ルート アクセスなしでは削除できない多くのファイルやフォルダーが作成されるため、これは望ましくありません。

では、これを行う最善の方法は何でしょうか?

答え1

timestamp_timeout パラメータを使用します。visudo を使用して sudoers ファイルを編集します。

sudo visudo

デフォルトの行を次のように変更します。

Defaults   env_reset,timestamp_timeout=60

これにより、パスワードは 60 分間保持されます。

必要に応じてこの時間を変更してください:)

答え2

スクリプト自体に sudo 呼び出しを含めることができます。スクリプトを sudo で実行すると、スクリプト内のすべての sudo がカバーされ、問題ないはずです。

関連情報