web-dev-qa-db-ja.com

時間がかかるsudo

Ubuntu 9 64ビットLinuxマシンでは、Sudoの起動に時間がかかります。 「須藤エコーこんにちは」は2〜3分かかります。 Sudoのstraceは、5秒後にpoll( "/ etc/pam.d/system-auth"、POLLIN)がタイムアウトし、同じシステムコールに対して複数の呼び出し(ループの可能性があります)があることを通知します(これにより2〜3分の遅延が発生します)。

Sudoが/etc/pam.d/system-authを待たなければならない理由はありますか? Sudoのタイムアウトを速くするための調整可能なものはありますか?

ありがとうサミュエル

5
Sam

Sudoが遅くなる最大の原因は、システムが自身のホスト名を解決できないことです。 /etc/hostsにローカルホスト名が含まれていますか?そうでない場合は、すべてのシステムで行うIP 127.0.1.1を使用して追加することをお勧めします。短いホスト名と完全修飾ドメイン名(FQDN)の両方を含むエントリを追加します。これにより、Sudoアクセス呼び出しの遅延が10回のうち9回除去されます。

17
Jeremy Bouse

私の場合、systemd-logindを再起動すると、問題が(一時的に)解決しました。

Sudo systemctl restart systemd-logind
1
Ortomala Lokni

Poll()の呼び出しは赤ニシンかもしれないと思わずにはいられません。

Sudoが非常に遅いのを見たときはいつでも、DNSに問題があります。 /etc/resolv.confにリストされている古いサーバーや、ポート53のアウトバウンドをブロックしているファイアウォールの構成ミスなど、Dig google.comが遅い場合は、Sudo echo fooが遅いことが常にわかりました。

DNSでなくても、速度の低下はネットワークに関連しており、認証に関連している可能性があります(Kevin Mが提案したように)。その場合、poll()呼び出しは結局のところ赤ニシンではない可能性があります。

Sudoの実行中にtcpdumpを実行して、何が表示されるかを確認してください。

1
Ladadadada