Sudo zawiesza się bez pytania o hasło


9

Właśnie zrobiłem nową instalację Ubuntu i teraz, kiedy próbuję używać sudo w emulatorze terminali, po prostu zawiesza się tam, nawet nie pytając mnie o hasło. Jeśli przejdę do terminala (Ctrl + Alt + F1) i zaloguję się, sudo działa zgodnie z oczekiwaniami. Czy ktoś może mi pomóc to rozgryźć?


Tylko myśl, czy zmienił kodowanie znaków terminalu (Open Terminal Terminal Menu -> Ustaw kodowanie znaków)
hytromo

Nie, nie zrobiłem tego, ale jestem ciekawy, dlaczego miałoby to cokolwiek zmienić.
Lawrence

Może to być źródłem wielu problemów, jeśli zmienisz coś takiego. Ale to tylko przypuszczenie.
hytromo

Miałem ten sam problem. Przejście z jądra 4.9 na 4.4 rozwiązało to dla mnie.
Tom Hale,

Odpowiedzi:


18

Czy ostatnio zmieniłeś nazwę hosta? Zauważyłem, że po zmianie nazwy hosta sudo może się trochę zawiesić. Jeśli jednak zaktualizujesz plik hosts, aby odzwierciedlał nazwę hosta, zawieszenie zniknie.

Możesz to zrobić za pomocą tego prostego linijki:

hostname | (echo -n "127.0.0.1        " && cat) | sudo tee -a /etc/hosts

1
Nie zwisa „trochę”, po prostu wisi w nieskończoność. Działa również na terminalu, po prostu nie w emulatorze terminali.
Lawrence

1
Daj temu człowiekowi ciastko! Dzięki zmianie Device Namenarzędzia do szczegółów systemu Ubuntu skutecznie łamiesz sudo. Świetna robota @Canonical.
Flatron

1
aby to naprawić, pamiętaj /etc/hostsrównież o zmianie nazwy hosta;)
Flatron

Świetny! Właściwie nie zauważyłem, że upłynął limit czasu po ~ 30 sekundach, a następnie kontynuowałem żądanie hasła sudo. Kolejny punkt: kiedy masz zamiar zmienić nazwę hosta (być może sklonowałeś maszynę wirtualną), możesz zostać odłączony do dowolnej sieci, aby uniknąć konfliktów, dopóki nie zmienisz wpisów. Właśnie to powoduje limity czasu
Hulvej,

4

Jeśli chcesz sprawdzić, gdzie się wisi, sugeruję wykonanie następującego polecenia:

 strace sudo 

a następnie sprawdź, jak nazywane jest to połączenie systemowe. Może to stanowić dobrą wskazówkę dotyczącą tego, co dzieje się w twoim systemie.

Domyślam się, że na podstawie tego, co widzisz, rozpoznawanie nazw hostów jest problematyczne w twoim systemie. Sprawdź pliki /etc/nsswitch.conf i /etc/resolv.conf, aby upewnić się, że są poprawnie skonfigurowane.

Zakładałem, że sprawdziłeś już swoją łączność z Internetem.


2
Dlaczego sudo wymaga połączenia z Internetem?
grofte

dla informacji FQDN ... ponieważ możesz wprowadzić ograniczenia hosta w pliku sudoers.
mdpc,

Nie zrozumiałem tego. Wiem tylko, że resetowanie adaptera Wi-Fi jest trudne. Co jest czasem konieczne po uśpieniu laptopa.
grofte


0

Ja też miałem ten problem z Ubuntu 16.04. Za pomocą polecenia „top” odkryłem, że dwa procesy „vnstat” i „NetworkManager” zużywają 100% procesora. Ponownie uruchomiłem system, przeszedłem do trybu odzyskiwania i usunąłem pakiet „vnstat”. Po tym zrestartowano system, teraz system działa dobrze.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.