Wie storniere ich das momentan angewendete verbleibende Sudo-Timeout?

37

sudoWie kann ich das verbleibende aktive Timeout abbrechen, wenn ich gerade ausgeführt habe und nicht möchte, dass es für die normale Dauer des Timeouts aktiv bleibt ?

sudo -k bricht es für die aktuelle Terminalsitzung ab, aber wenn ein Prozess derzeit in dieser Sitzung ausgeführt wird und daher nicht ausgeführt werden kann sudo -k, gibt es eine Möglichkeit, ihn von einer anderen Terminalsitzung abzubrechen?

Und gibt es eine Möglichkeit, alle aktuell angewendeten sudoZeiten abzubrechen (für alle Terminalsitzungen und alle gksudo-Anwendungen usw.)?

Wenn Sie sich das vorstellen , muss eine laufende GUI möglicherweise einfach heruntergefahren werden, aber ich habe gerade überprüft, dass Alt+ F2gksu für nachfolgende Aufrufe aktiv hält.

Peter.O
quelle

Antworten:

37

Sie sind sich nicht sicher, ob Sie ein Sudo-Timeout beenden möchten, damit es nicht oder sofort beendet wird. Wenn Sie jedoch den verbleibenden Zeitstempel entfernen möchten, können Sie ihn verwenden sudo -k

Wenn Sie andernfalls versuchen, eine Zeitüberschreitung abzubrechen, damit sudo keine Zeitüberschreitung verursacht, ist dies meiner Meinung nach in einer aktuellen Sitzung nicht möglich. Die einzige Möglichkeit, die mir bekannt ist, besteht darin, timestamp_timeoutdie sudoersDatei zu ändern und die Sitzung neu zu starten.

Wajiw
quelle
upps .. ich war ein bisschen langsam mit dem detail: ich habe meiner frage ein bisschen mehr hinzugefügt .. über "-k" ... und ja, ich beziehe mich auf eine einmalige situation, obwohl es jetzt bringt das Problem einer systemweiten "einmaligen". ... Danke (+1) für die Antwort, die perfekt für meine oringinaL (fehlende Detail) Frage war ..
Peter.O
1
Ich verstehe nicht ganz, wie -Kes praktisch anders ist als -k(wenn -k von itseld verwendet wird), aber es -khat eine doppelte Verwendung: 1. für sich (macht den Zeitstempel ungültig) ... 2. wenn es mit einem Befehl verwendet wird, ist es fordert zur Eingabe eines Kennworts auf, unabhängig davon, ob ein vorheriges sudo-Timeout abgelaufen ist oder nicht ..... Und übrigens: sudo -k arbeitet mit Alt + F2, um den Zeitstempel eines vorherigen sudo / gksu-Aufrufs zu löschen.
Peter.O
Ja, ich habe keine Ahnung, wann ich eins übereinander verwenden würde.
Wajiw
Abgesehen von dem Problem "töte alle vorhandenen Zeitstempel" ... Ohne die zugrunde liegenden Sudoer- Einstellungen zu ändern , ist die einzige Möglichkeit, die ich sehe, um ein "garantiertes" einmaliges Sudo auszuführen , ..., weil der Benutzer zwar dazu gezwungen wird Geben Sie das Passwort ein, es lässt einen vorbestehenden Zeitstempel unverändert ... (ich erwähne es nur als "Griss to the Mill") ... und die einfachste Möglichkeit, alle vorhandenen Zeitstempel zu "töten", besteht darin, das Problem einfach zu umgehen ganz und drücken Sie Strg + Alt + L, um den Bildschirm zu sudo -k; sudo -k appnamesudo -k appname
sperren
Hahaha, wenn Sie die Fähigkeit haben, würde ich mit dieser Option gehen
wajiw
8

Nur zu einem Ihrer Punkte:

Aber wenn ein Prozess gerade in dieser Sitzung läuft, kann sudo -k nicht ausgeführt werden

Dies gilt speziell für die Befehlszeile. Wenn Sie während der Ausführung eines anderen Prozesses etwas tun möchten, können Sie Ctrl+ drücken, Zum den Prozess anzuhalten. Sie haben dann wieder Zugriff auf das aktuelle Terminal und können alles tun, was Sie möchten. Wenn Sie fertig sind, können Sie eingeben jobs, um eine Liste der Prozesse mit einer Nummer daneben abzurufen. Geben Sie fg 1(zum Beispiel - und fgwenn es nur einen Job gibt) ein, um einen Prozess neu zu starten und ihn in den Vordergrund zu rücken. Ebenso, bgum dasselbe zu tun, aber den Prozess im Hintergrund laufen zu lassen.

Beispielsitzung

$ 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...
....
Stefano Palazzo
quelle
1
Stefano: Danke ... das ist so gut ... Linux sagt immer wieder zu mir: "Ja, natürlich kann ich das" :) ... und, wenn ich es mir überlege, war mir diese Strg halb bewusst + Z, aber die Hälfte ist nicht genug!) ... Jetzt, wo ich auf eine "echte" Situation gestoßen bin, in der es nicht nur Text auf dem Bildschirm ist, werde ich es bestimmt nie vergessen ... muss gehen .. Ich muss ein paar Cntrl + Z-
Ing
2

Ich habe eine Lösung gefunden. Da meine Suche nichts Ähnliches ergab und dies eine häufige Frage ist: sudo speichert irgendwo im Dateisystem (zum Beispiel in / var / run / sudo) ein Verzeichnis pro Benutzername und mehrere Dateien, die als Zeitstempel fungieren , eine Datei für jedes Terminal. Löschen Sie diese Dateien und Ihr System ist wieder sicher. Denken Sie daran, dass diese Dateien nur für root sichtbar sind (andernfalls könnte ein Angreifer den Zeitstempel lesen und die Uhrzeit auf einen Punkt zurücksetzen, an dem sie noch gültig waren - es ist gefährlich, jedem root-ls zuzuweisen). Deshalb in meiner / etc / pm / sleep / und vielleicht auch für den Bildschirmschoner, den ich laufe:

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

als root natürlich ...

piotr5
quelle