Sudo зависает без запроса пароля


9

Я только что сделал новую установку Ubuntu, и теперь, когда я пытаюсь использовать sudo в эмуляторе терминала, он просто зависает там, даже не спрашивая у меня пароль. Если я переключаюсь на терминал (Ctrl + Alt + F1) и захожу, sudo работает как положено. Может ли кто-нибудь помочь мне понять это?


Просто мысль, изменили ли вы кодировку символов вашего терминала (Открыть терминал, меню Терминал -> Установить кодировку символов)
hytromo

Нет, не знаю, но мне любопытно, почему это что-то изменит.
Лоуренс

На самом деле, это может стать источником многих проблем, если вы что-то измените. Но это было только предположение.
Hytromo

У меня такая же проблема. Переход с ядра 4.9 на 4.4 решил это за меня.
Том Хейл

Ответы:


18

Вы недавно меняли имя хоста? Я заметил, что после изменения имени хоста sudo может зависнуть немного. Однако, если вы обновите свой файл hosts, чтобы отразить изменение имени хоста, зависание исчезнет.

Вы можете сделать это с помощью этого простого однострочного:

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

1
Он не висит немного, просто висит бесконечно. Также он работает на терминале, а не в эмуляторе терминала.
Лоуренс

1
Дайте этому человеку печенье! Спасибо, изменив Device Nameутилиту Ubuntu в системную информацию, вы фактически сломаете sudo. Отличная работа @Canonical.
Flatron

1
чтобы исправить это, убедитесь, что вы /etc/hostsтакже изменили свое имя хоста;)
Flatron

Большой! На самом деле я не заметил, что время истекло через ~ 30 секунд, а затем продолжил запрашивать пароль sudo. Еще один момент: когда вы собираетесь изменить свое имя хоста (возможно, вы клонировали ВМ), вы можете быть отключены от любой сети, чтобы избежать конфликтов, пока вы не измените записи. Это правильно и то, что вызывает таймауты
Hulvej

4

Если вы хотите проверить, где он висит, я предлагаю выполнить следующую команду:

 strace sudo 

и затем посмотрите, на какой системный вызов это возможно. Это может дать хорошее представление о том, что происходит в вашей системе.

На основании того, что вы видите, я думаю, что разрешение имени хоста проблематично в вашей системе. Проверьте файлы /etc/nsswitch.conf и /etc/resolv.conf, чтобы убедиться, что они настроены правильно.

Я предположил, что вы уже проверили подключение к Интернету.


2
Почему для sudo требуется подключение к интернету?
grofte

для информации FQDN ... так как вы можете поместить ограничения хоста в файл sudoers.
mdpc

Я не понимал, что. Я только знаю, что сложно сбросить адаптер Wi-Fi. Что иногда необходимо после укладывания ноутбука в сон.
grofte


0

У меня тоже была эта проблема с Ubuntu 16.04. Используя команду "top", я обнаружил, что два процесса "vnstat" и "NetworkManager" потребляют 100% ресурсов ЦП. Поэтому я перезапустил систему, перешел в режим восстановления и удалил пакет «vnstat». После этого перезагрузил систему, теперь система работает нормально.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.