Die sudo-Berechtigung läuft während des apt-get-Upgrades nicht ab

9

Beachten Sie Folgendes: Sie geben ein $sudo apt-get upgradeund erhalten eine Liste der Dinge, die aktualisiert werden müssen, mit der Bestätigung "J \ n". Bevor Sie die Liste lesen und "Y" oder "n" eingeben können, klingelt das Telefon oder Ihr Chef kommt herein oder Sie tun etwas anderes. Sie kommen eine Stunde später zurück und drücken Y, um Updates zu installieren.

Sie werden nicht erneut zur Eingabe eines Passworts aufgefordert. Vermutlich werden weitere Sudo-Befehle in der Shell ausgeführt, da der Timer gehalten wurde und auf die Benutzereingabe gewartet hat. Oder ein Benutzer kann den Aktualisierungsprozess abbrechen und so etwas tun sudo -iund einfach unbegrenzt im Stammverzeichnis bleiben.

Ich benutze Ubuntu Mate 14.04

Ist dies eine bemerkenswerte Sicherheitsausnahme? Sollte ich versuchen, es irgendwo zu melden? Wenn ja, wo?

j0h
quelle
5
Was meinst du mit "vermutlich"? Hast du es versucht oder nicht?
Glückyrumo
3
Ich habe dies gerade versucht, auch wenn Defaults passwd_timeout=3 in meiner sudoers-Datei beim Ausführen des sudo apt-get upgradePassworts nicht gefragt wird. Das ist nicht gut
Sergiy Kolodyazhnyy
Ich habe das Problem nicht, mit Standardeinstellungen auf Ubuntu 15.04
Luckyrumo
1
@TobiasKienzler nein. Ich habe meine sudoers-Datei in keiner Weise geändert, außer dass ich diesen passwd_timeout-Teil hinzugefügt habe. Chech meine Antwort. Das Problem war das Zeitstempel-Timeout. Dies sind verschiedene Optionen
Sergiy Kolodyazhnyy
1
@Serg Ich sehe, es gibt zwei Timeouts. Wie bequem verwirrend: / Danke :)
Tobias Kienzler

Antworten:

22

Sie werden nicht zur Eingabe eines Kennworts aufgefordert, da sudodie Aufgabe erledigt und apt-getals Root gestartet wurde . Während der Eingabeaufforderung wird der apt-getProzess noch ausgeführt. Da er weiterhin als Root ausgeführt wird, müssen Sie Ihr Kennwort nicht erneut eingeben.

Mit anderen Worten, solange ein sudoEd-Prozess ausgeführt wird, werden Sie nicht aufgefordert, Ihr Kennwort für diesen Prozess erneut einzugeben. sudoUnterbricht den Vorgang nicht alle 15 Minuten (Standardzeitlimit) und fragt nach Ihrem Passwort.

Nun, wenn Sie ein anderes Terminal zu öffnen waren und versuchen Sie einen anderen Prozess unter laufen sudo, dann Sie werden nach Ihrem Passwort gefragt werden.

saiarcot895
quelle
5
... oder tatsächlich im selben Terminal, nachdem der angehaltene Sudo-Befehl abgeschlossen wurde
Steeldriver
3

sudoDie Standardvariable timestamp_timeoutist 15 Minuten. Wenn Sie also sudo apt-get upgradeinnerhalb von 15 Minuten auf n klicken , können Sie damit rechnen, die Root-Shell mit zu betreten sudo -i. Genau das ist passiert. Wenn Sie setzen jedoch, dass in /etc/sudoersso Default timestamp_timeout 0, wird es Ihnen jedes Mal aufgefordert. Persönlich habe ich es auf 3 gesetzt. Wenn Ihr Sudo auch nach 15 Minuten keine Zeitüberschreitung aufweist, stimmt etwas ernsthaft mit Ihrer sudoBinärdatei nicht.

Dieses Verhalten ist keine Sicherheitslücke, sondern eine "Komfortfunktion" für die Sudo-Benutzer. Ich kann jedoch zustimmen, dass für eine strengere Sicherheit die timestamp_timeoutZeit auf viel weniger als 15 Minuten eingestellt werden muss.

Hinweis : Mit der passwd_timeoutOption, die ich in meinem Kommentar erwähnt habe, wird die Kennwortabfrage tatsächlich abgelaufen, wenn Sie x Minuten lang kein Kennwort eingeben. Das ist einer der schönen Momente, in denen Sie erkennen, dass Sie man sudoersviel genauer lesen sollten .

Sergiy Kolodyazhnyy
quelle
2
Beachten Sie, dass Sie niemals /etc/sudoersdirekt bearbeiten sollten. Verwenden Sie visudostattdessen diese Option, um nach Syntaxfehlern zu suchen, bevor Sie sie sudoersdurch eine fehlerhafte Datei ersetzen , die Sie sonst möglicherweise vollständig vom Root-Zugriff ausschließt
Tobias Kienzler,
0

Ich würde vorschlagen, dass Sie sudo apt-get upgrade && exitdies eingeben, um das Terminal nach Abschluss des Upgrades zu verlassen. Wenn das Upgrade abgebrochen wird, wird das Terminal nicht geschlossen, aber ich denke, das wird nicht der Fall sein.

Marton
quelle