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


23

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


1
fyiを使用すると、を使用して有効期限の延長を促すことができますsudo -v。これは、sudoコマンドを実行するスクリプトの先頭に配置して、最初にパスワードの入力を求められる場合に最適です。
バルバカ

注sudoは実際にはパスワードをキャッシュしません。sudoは実際にそのジョブを実行するためにパスワードをまったく必要とせず、ユーザーが指定されたコマンドの実行を許可したかどうかを確認するように要求するだけです。基本的には、ユーザーの資格情報を一定期間(特別な「タイムスタンプ」として、トップの回答を参照)キャッシュします。その間、ユーザーは自分自身を再確認する必要はありません。Webブラウザや暗号化キーとは異なり、パスワード自体はキャッシュ(保存)されません。
アンソニー

回答:


20

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

timestamp_timeout

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

はい、それはを介して設定でき/etc/sudoers、デフォルトでは5分後に期限切れになります。


4
そして、あなたが知っている、設定visudoを編集するために使用しsudo/etc/sudoers直接編集しないでください。
カルロスキャンデロス

2
@CarlosCampderrós:本当です。そして(可能な場合)安全のために、常に別のルートシェルを開いたままにします。:)
ウルリッヒ・シュワルツ

7

それは設定によって異なります。ほとんどのディストリビューション(およびソース)のデフォルトは5分ですが、のtimestamp_timeoutオプションで変更できます/etc/sudoers。からman sudoers

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

たとえば、ユーザーのためのタイムアウトを設定するchrisには、次の追加、20分/etc/sudoers、またはでファイルに/etc/sudoers.d注釈(:これらのファイルのルールの順序の両方、これらのファイルの順番にし、必ずそれは無意識によって上書きされていないことを確認後で実行されるルール):

Defaults:chris timestamp_timeout=20
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.