別のパスワードで認証した直後に、sudoがウィンドウでパスワードを要求するのはなぜですか?


10

xtermやgnome-terminalなどでコマンドラインを使用している場合はsudo、一定の制限内でパスワードの再プロンプトを表示しないようにするか、無効にすることができます。

使いやすさとセキュリティの妥協点として、通常、この再クエリの待機時間を長くしたいだけです。

デフォルトでは、sudoパスワードを入力してからプロンプトが再度表示されるまでの猶予期間は15分のみです。これを45分に変更するには、を編集して/etc/sudoers、timestamp_timeoutを必要な待機時間(分単位)に設定します。

sudoersファイル

同じターミナルセッション内で新しいシェルを開始するcsh場合(またはを入力bash)、待機期間が尊重されます。

しかし、別のウィンドウに移動してそこでコマンドラインにアクセスすると、しようとするとすぐにパスワードが要求されますsudo

同じ疑似端末セッション(pts)内(たとえば、同じgnome-terminalウィンドウ内に新しいシェルを起動した場合)、タイムアウトが考慮されます。

新しいxterm、gnome-terminalなどを起動した場合、資格情報をもう一度入力する必要があります。

私のホームシステム(シングルユーザーシステム)などでアクティブな唯一のユーザーであるにもかかわらず、sudoは私のすべてのptsエントリが同じユーザーからのものであることを信頼していません。

~/pseudoland$ w
 01:27:39 up 1 day, 15:03,  7 users,  load average: 0.32, 0.71, 0.77
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
jgb    tty1                      23:56    1:30m  0.55s  0.51s -bash
jgb    tty7     :0               Tue10   39:03m  2:28m  0.76s gnome-session
root     pts/1    :0.0             00:30   56:23   0.01s  0.01s /bin/bash
jgb    pts/3    :0.0             01:16    0.00s  0.59s  3.22s gnome-terminal
jgb    pts/4    :0.0             01:27   26.00s  0.23s  0.23s /bin/bash
jgb    pts/5    :0.0             01:17    9:26   0.23s  0.23s bash

私が開いているすべてのウィンドウを同じユーザーからのものであると見なし、最後のsudoタイマーが切れていない場合にパスワードを要求しないようにsudoに指示する方法はありますか?

回答:


12

猶予期間はsudo、「チケット」と呼ばれるものによって制御されます。sudoで認証すると、基本的に認証の有効期限が切れる時期を示す特定のタイムスタンプでこのチケットが作成されます。

デフォルトでは(パッケージのコンパイル時に設定されます)、このタイムアウトは、ご存じのようにttyごとです。これは、「tty_tickets」と呼ばれるsudoの機能です。これは基本的に、ユーザーごとに1つのロックを作成する代わりに、sudoがttyごとに1つのロックを作成することを意味します。

以前の動作に戻し、デフォルトを上書きするには、を編集する必要があります/etc/sudoersDefaultsタイムアウトを変更するために編集した「」行を見つけて、それに追加,!tty_ticketsします。これにより、tty_tickets機能がオフになり、必要な動作が得られます。

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