Почему `sudo` работает медленно, когда пароль неверен?

Когда я ввожу свой пароль для привилегий суперпользователя или для входа в систему с Linux, если я ввожу его правильно, он немедленно возвращается, предоставляя мне доступ. Однако, если я сделаю опечатку, придется долго ждать, прежде чем он сообщит мне, что мой пароль неверен. Обычно я понимаю, что напортачил, задолго до того, как это сделает компьютер.

Почему это так? Насколько я понимаю, пароли пользователей зашифрованы и хранятся в / etc / shadow , поэтому кажется, что мой ввод должен быть просто зашифрован и сравнен с тем, что находится в этом файле для моего имени пользователя --- что потребует примерно в одно и то же время, независимо от того, ввожу ли я правильный пароль или нет. Есть ли какая-то алгоритмическая причина, например, он должен проверить кучу дополнительных мест, прежде чем он сможет подтвердить, что это неверно? Или, может быть, система быстро узнает, что это неверный пароль, но должна проделать большую работу, чтобы отслеживать неправильные попытки входа в систему. Или, может быть, он просто пытается наказать меня за облажавшуюся ошибку.

9
задан Sam Britt 6 February 2012 в 16:23
поделиться