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
swiftimundo
источник
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
1

Я не уверен, какую версию ubuntu вы установили, но есть ошибка (условие гонки) в sudo, которая зависает на неопределенное время при выборе.

https://bugzilla.sudo.ws/show_bug.cgi?id=447

Суджан Болисетти
источник
0

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

Маниш
источник