sudoでパスワードの入力を強制する

sudoでパスワードの入力を強制する

次のようにすると:

sudo su -
//enter password
exit
exit
//login again straight away
sudo su -

sudoへの2回目の呼び出しでは、再度ログアウトしても特定のタイムアウト内にあるため、パスワードを求められません。つまり、パスワードを再入力するように求める必要はありません。

正常に動作することを確認するためにいくつかの新しい権限を試しているので、タイムアウトが発生するのを待っている間、速度は本当に遅くなります。

タイムアウトをリセットするコマンドを実行できますか?

ちなみに、タイムアウトを変更したり、他のユーザーに影響を与えたくありません!

答え1

sudo -kタイムアウトタイムスタンプが終了します。後で次のようにコマンドを入力することもできます。sudo -k test_my_privileges.sh

からman sudo

-K-K(削除保証)オプションは、ユーザーのタイムスタンプを完全に削除し、コマンドや他のオプションと一緒に使用できないことを除いて、-kと似ています。このオプションにはパスワードは必要ありません。

-K単独で使用する場合、sudoの-k(kill)オプションは時間をEpochに設定してユーザーのタイムスタンプを無効にします。次に sudo を実行する際にパスワードが必要です。このオプションはパスワードを必要とせず、ユーザーが.logoutファイルからsudo権限を取り消すことができるように追加されました。
パスワードを必要とする可能性のあるコマンドまたはオプションと組み合わせて使用​​すると、このオプションを使用すると、sudoはユーザーのキャッシュされた資格情報を無視します。したがって、sudoはパスワードの入力を求められ(セキュリティポリシーにパスワードが必要な場合)、ユーザーのキャッシュされた資格情報は更新されません。

永久に変更することもできます。からman sudoers

タイムスタンプタイムアウト

sudoがパスワードを再要求するまでに経過できる時間(分)。小さな粒度だけでは十分ではない場合、時間制限には2.5のような小数部が含まれる場合があります。デフォルトは 5 です。常にパスワードの入力を求める場合は、0に設定してください。 0より小さい値に設定すると、ユーザーのタイムスタンプは期限切れになりません。これは、ユーザーがそれぞれsudo -vとsudo -kを介して独自のタイムスタンプを作成または削除できるようにするために使用できます。

答え2

Seanの答えは素晴らしいですが、この状況に役立つ可能性がある追加の設定オプションがあります。

からman sudoers

tty_チケット

設定されている場合、ユーザーはttyごとに認証する必要があります。このフラグが有効になっていると、sudoはユーザーがログインしたtty名を付けたユーザーのタイムスタンプディレクトリにあるファイルを使用します。無効にすると、ディレクトリのタイムスタンプが使用されます。

このフラグはデフォルトでオンになっています。

からman sudo

sudoersでtty_ticketsオプションが有効になっていると、タイムスタンプはttyごとに粒度がありますが、まだユーザーセッションよりも長く持続する可能性があります。 sudoは、devptsファイルシステムを使用するLinuxシステム、デバイスファイルシステムを搭載したSolarisシステム、ファイルが使用されなくなったときにMac OS Stampsなどの他のシステムを使用してttyベースの時間を確認できます。 この機能は通常使用できないため、管理者はこの機能に依存してはいけません。

比較的新しいと思います。システムがそれをサポートしている場合は、ログアウトしてログインすると、sudoはパスワードを再度尋ねます。 (私のシェルにもログアウトスクリプトがありますsudo -K。)

関連情報