Sudo hängt ohne Aufforderung zur Eingabe eines Passworts

9

Ich habe gerade eine Neuinstallation von Ubuntu durchgeführt und jetzt, wenn ich versuche, sudo im Terminalemulator zu verwenden, hängt es einfach dort, ohne mich nach einem Passwort zu fragen. Wenn ich zum Terminal wechsle (Strg + Alt + F1) und mich anmelde, funktioniert sudo wie erwartet. Kann mir jemand helfen, das herauszufinden?

Lawrence
quelle
Nur ein Gedanke, haben Sie die Zeichenkodierung Ihres Terminals geändert (Terminal öffnen, Menü Terminal -> Zeichenkodierung
einstellen
Nein, habe ich nicht, aber ich bin gespannt, warum das etwas ändern würde.
Lawrence
Es kann die Ursache vieler Probleme sein, wenn Sie so etwas tatsächlich ändern. Aber das war nur eine Vermutung.
Hytromo
Ich hatte das gleiche Problem. Der Wechsel von Kernel 4.9 zu 4.4 hat es für mich gelöst.
Tom Hale

Antworten:

18

Haben Sie kürzlich den Hostnamen geändert? Ich habe festgestellt, dass sudo nach einer Änderung des Hostnamens ein bisschen hängen bleiben kann. Wenn Sie jedoch Ihre Hosts-Datei aktualisieren, um die Änderung des Hostnamens widerzuspiegeln, verschwindet der Hang.

Sie können dies mit diesem einfachen Einzeiler tun:

hostname | (echo -n "127.0.0.1        " && cat) | sudo tee -a /etc/hosts
Swiftimundo
quelle
1
Es hängt nicht 'ein bisschen', es hängt nur auf unbestimmte Zeit. Es funktioniert auch auf dem Terminal, nur nicht im Terminalemulator.
Lawrence
1
Gib diesem Mann einen Keks! Vielen Dank, wenn Device NameSie das Systemdetail-Dienstprogramm von Ubuntu ändern, brechen Sie sudo effektiv. Großartige Arbeit @Canonical.
Flatron
1
Um es zu beheben, stellen Sie sicher, dass Sie /etc/hostsauch Ihren neuen Hostnamen ändern ;)
Flatron
Großartig! Ich habe nicht bemerkt, dass das Zeitlimit nach ~ 30 Sekunden abgelaufen ist, und habe dann nach dem Sudo-Passwort gefragt. Ein weiterer Punkt: Wenn Sie Ihren Hostnamen ändern möchten (möglicherweise haben Sie eine VM geklont), werden Sie möglicherweise von einem beliebigen Netzwerk getrennt, um Konflikte zu vermeiden, bis Sie die Einträge geändert haben. Das ist auch richtig, was die Timeouts verursacht
Hulvej
4

Wenn Sie überprüfen möchten, wo es hängt, empfehle ich, den folgenden Befehl auszuführen:

 strace sudo 

und dann sehen, an welchem ​​Systemaufruf es möglicherweise hängt. Dies kann einen guten Hinweis darauf geben, was auf Ihrem System geschieht.

Ich gehe davon aus, dass die Auflösung von Hostnamen auf Ihrem System problematisch ist. Überprüfen Sie die Dateien /etc/nsswitch.conf und /etc/resolv.conf, um sicherzustellen, dass sie ordnungsgemäß konfiguriert sind.

Ich habe angenommen, dass Sie Ihre Internetverbindung bereits überprüft haben.

mdpc
quelle
2
Warum ist für sudo eine Internetverbindung erforderlich?
Grofte
für FQDN-Informationen ... da Sie Host-Einschränkungen in Ihre Sudoers-Datei aufnehmen können.
mdpc
Ich habe das nicht verstanden. Ich weiß nur, dass es schwierig ist, den WLAN-Adapter zurückzusetzen. Was manchmal notwendig ist, nachdem der Laptop in den Ruhezustand versetzt wurde.
Grofte
0

Ich hatte auch dieses Problem mit Ubuntu 16.04. Mit dem Befehl "top" stellte ich fest, dass zwei Prozesse "vnstat" und "NetworkManager" 100% CPU verbrauchen. Also habe ich das System neu gestartet, bin in den Wiederherstellungsmodus gegangen und habe das Paket "vnstat" entfernt. Nach diesem Neustart des Systems funktioniert das System nun einwandfrei.

manisch
quelle