Назад | Перейти на главную страницу

sudo занимает много времени

На 64-битной машине Linux с Ubuntu 9 запуск sudo занимает больше времени. "sudo echo hi" занимает 2-3 минуты. strace в sudo сообщает тайм-аут опроса ("/ etc / pam.d / system-auth", POLLIN) через 5 секунд, и есть несколько вызовов (может быть цикл) одного и того же системного вызова (что вызывает задержку в 2-3 минуты).

Любая идея, почему sudo нужно ждать /etc/pam.d/system-auth? Любая настройка, позволяющая ускорить тайм-аут sudo?

Спасибо, Самуэль

Самая большая причина медленной работы sudo - это то, что система не может разрешить собственное имя хоста. Включено ли ваше локальное имя хоста в /etc/hosts? Если нет, я бы рекомендовал добавить его с IP 127.0.1.1 что я делаю во всех своих системах. Я добавляю запись с коротким именем хоста и полным доменным именем (FQDN). Затем это устраняет задержку в вызовах доступа sudo в 9 из 10 раз.

В моем случае перезапуск systemd-logind решил (временно) проблему.

sudo systemctl restart systemd-logind

Я не могу не думать, что вызов poll () может быть отвлекающим маневром.

Всякий раз, когда я видел, что sudo работает исключительно медленно, всегда виноват DNS. Будь то старые, мертвые серверы, перечисленные в /etc/resolv.conf, или неправильно настроенный брандмауэр, блокирующий исходящий порт 53, или что-то еще, я всегда обнаруживал, что dig google.com медленно, когда sudo echo foo медленный.

Даже если это не DNS, я подозреваю, что медлительность связана с сетью и, возможно, с аутентификацией (как предположил Кевин М.), и в этом случае вызов poll () в конце концов не может быть отвлекающим маневром.

Попробуйте запустить tcpdump при попытке запустить sudo и посмотрите, что появится.