Root権限を必要とするコマンドをSudo
で実行すると、現在のユーザーのパスワードを入力するように求められます。その後しばらくの間、Sudo
を使用して同じ種類のコマンドを実行すると、再度パスワードを要求されることはありません。だから私の推測では、パスワードは有効期限が切れるまでどこかにキャッシュされます。この有効期限はどのくらいですか?それを構成することは可能ですか?
man 5 sudoers
は、オプションがあることを通知しますtimestamp_timeout
:
timestamp_timeout
Sudoが再度パスワードを要求するまでの経過時間(分)。細かい粒度では不十分な場合、タイムアウトには小数のコンポーネントが含まれることがあります(例:2.5)。デフォルトは5です。これを0に設定すると、常にパスワードのプロンプトが表示されます。 0未満の値に設定すると、ユーザーのタイムスタンプが期限切れになることはありません。これは、ユーザーがそれぞれ「Sudo -v」および「Sudo -k」を介して独自のタイムスタンプを作成または削除できるようにするために使用できます。
したがって、はい、/etc/sudoers
を介して構成できます。デフォルトでは、5分後に有効期限が切れます。
それは構成によって異なります。ほとんどのディストリビューション(およびソース)のデフォルトは5分ですが、timestamp_timeout
の/etc/sudoers
オプションを使用して変更できます。 man sudoers
から:
Sudoが再度パスワードを要求するまでの経過時間(分)。細かい粒度では不十分な場合、タイムアウトには小数のコンポーネントが含まれる場合があります(例:2.5)。デフォルトは5です。これを0に設定すると、常にパスワードのプロンプトが表示されます。 0未満の値に設定すると、ユーザーのタイムスタンプは期限切れになりません。これは、ユーザーが「Sudo -v」および「Sudo -k」を介してそれぞれ独自のタイムスタンプを作成または削除できるようにするために使用できます。
たとえば、ユーザーchris
のタイムアウトを20分に設定するには、/etc/sudoers
に以下を追加するか、/etc/sudoers.d
のファイルに追加します(注:これらのファイルのルールの順序は両方ともandこれらのファイルの順序が重要です。後で実行されるルールによって誤って上書きされないようにしてください):
Defaults:chris timestamp_timeout=20