web-dev-qa-db-ja.com

Sudoをキャッシュしてコマンドを実行するためのパスワードの長さはどれくらいですか?

Root権限を必要とするコマンドをSudoで実行すると、現在のユーザーのパスワードを入力するように求められます。その後しばらくの間、Sudoを使用して同じ種類のコマンドを実行すると、再度パスワードを要求されることはありません。だから私の推測では、パスワードは有効期限が切れるまでどこかにキャッシュされます。この有効期限はどのくらいですか?それを構成することは可能ですか?

23
Meysam

man 5 sudoersは、オプションがあることを通知しますtimestamp_timeout

timestamp_timeout

Sudoが再度パスワードを要求するまでの経過時間(分)。細かい粒度では不十分な場合、タイムアウトには小数のコンポーネントが含まれることがあります(例:2.5)。デフォルトは5です。これを0に設定すると、常にパスワードのプロンプトが表示されます。 0未満の値に設定すると、ユーザーのタイムスタンプが期限切れになることはありません。これは、ユーザーがそれぞれ「Sudo -v」および「Sudo -k」を介して独自のタイムスタンプを作成または削除できるようにするために使用できます。

したがって、はい、/etc/sudoersを介して構成できます。デフォルトでは、5分後に有効期限が切れます。

20
Ulrich Schwarz

それは構成によって異なります。ほとんどのディストリビューション(およびソース)のデフォルトは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
7
Chris Down