現在適用されている残りのsudoタイムアウトをキャンセルする方法


38

私は実行したときにsudo、それがそのタイムアウトの通常の期間中、アクティブのままにしたくない、どのように私は残っていることをキャンセルすることができるアクティブタイムアウト?

sudo -k 現在のターミナルセッションでそれを強制終了しますが、プロセスがそのセッションで現在実行されているため実行できないsudo -k場合、別のターミナルセッションからキャンセルする方法はありますか?

そして、現在適用さsudoれているすべての時間をキャンセルする方法はありますか(すべてのターミナルセッション、gksudo実行中のアプリなど)。

考えてみると、実行中のGUIを単にシャットダウンする必要があるかもしれませんが、その後の呼び出しでAlt+ F2がgksuをアクティブに保つことを確認しました。

回答:


38

タイムアウトしないように、またはすぐにタイムアウトするようにsudoタイムアウトを殺すつもりかどうかはわかりませんが、残りのタイムスタンプを削除したい場合は使用できます sudo -k

そうでなければ、sudoがタイムアウトしないようにタイムアウトをキャンセルしようとすると、現在のセッションでそれが可能になるとは思わない。私が知っている唯一の方法timestamp_timeoutは、sudoersファイルを変更してセッションを再開することです。


おっと..私は細部に少し遅かった:私は私の質問にもう少し追加した.. "-k"について...そして、はい、私は一時的な状況について言及していますが、それは今もたらしますシステム全体の「一回限り」の問題を解決します。...私のoringinaL(詳細が欠けている)の質問にぴったりだったasnwerに感謝(+1)
。-Peter.O

1
(-kをitseldで使用する場合)-Kと実際にどのように異なるかはよくわかりませんが、2 -kつの用途が-kあります1.単独で(タイムスタンプを無効にする)... 2.コマンドで使用する場合、それ以前のsudoタイムアウトの期限が切れているかどうかに関係なく、パスワードの入力を求められます。....ところで、sudo -kはAlt + F2で機能し、以前のsudo / gksu呼び出しのタイムスタンプを強制終了します。
Peter.O

ええ、私はいつ私が一方をもう一方の上に使うかについて全くわかりません。
ワジウ

別に根本的な変更がないと....問題「のすべての既存のタイムスタンプを殺す」からのsudoers、設定を私は「guaranteed` 1回のみ実行するように見ることができる唯一の方法sudoがあるのsudo -k; sudo -k appnameであるがために.... sudo -k appname軍ユーザへパスワードを入力すると、既存のタイムスタンプは変更されずに残ります...(「工場へのグリス」と言います)...そして、おそらくすべての既存のタイムスタンプを「殺す」最も簡単な方法は、単に問題を回避することです完全にCtrl + Alt + Lを押して画面をロックします:)
Peter.O

ハハハあなたが能力を持っている場合、私はそのオプションで行くだろう
-wajiw

8

あなたのポイントの1つに:

ただし、プロセスがそのセッションで現在実行されているため、sudo -kを実行できない場合

これはコマンドラインに固有です。他のプロセスの実行中に何かをしたい場合は、Ctrl+ Zを押してプロセスを一時停止できます。その後、現在の端末に再度アクセスして、好きなことをしてください。完了jobsしたら、入力してプロセスのリストを取得し、その横に番号を付けます。入力してfg 1(たとえば、fgジョブが1つだけの場合)、プロセスを再起動してフォアグラウンドに上げます。同様に、bg同じことを行いますが、プロセスをバックグラウンドで実行したままにします。

セッション例

$ sudo apt-get install hello
<CTRL+Z>
[1]+  Stopped    sudo apt-get install hello
$ sudo -k
$ jobs
[1]+  Stopped    sudo apt-get install hello
$ fg 1
Loading database...
....

1
ステファノ:ありがとう...それはとてもいい... Linuxは私に「はい、もちろんできる」と言い続けています:) ...そして、考えてみると、私はそのCtrlを半分知っていました+ Z、しかし半分だけでは十分ではありません!)...今では画面上のテキストだけではない「本当の」状況を知ったので、私はそれを決して忘れないだろうと確信しています...行かなければならない.. Cntrl + Z-ingを実行する必要があります...
Peter.O

2

私は解決策を見つけました。私の検索では何も表示されず、これはよくある質問です:sudoはファイルシステム上のどこかに(たとえば/ var / run / sudoに)、ユーザー名ごとに1つのディレクトリ、タイムスタンプとして機能するいくつかのファイル、各端末に1つのファイル。それらのファイルを削除すると、システムは再び安全になります。これらのファイルはルートにのみ表示されることに注意してください(そうしないと、侵入者がタイムスタンプを読み取り、それらがまだ有効であった時点にクロックタイムを設定する可能性があります-誰にもroot-lsを付与することは危険です)。したがって、私の/ etc / pm / sleep /で、おそらくスクリーンセーバーでも実行します:

rm -f /var/db/sudo/*/*

もちろんルートとして...

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