密码错误时为什么`sudo`慢?

Sam*_*itt 9 security encryption passwords sudo

当我输入我的密码以获得超级用户权限或登录我的Linux机箱时,如果我输入正确,它会立即返回,授予我访问权限.但是,如果我犯了一些拼写错误,那么在它告诉我密码错误之前需要等待很长时间.通常,我意识到在计算机出现之前很久就搞砸了.

为什么会这样?据我了解,用户密码是加密并存储的/etc/shadow,所以看起来我的输入应该加密,并与我的用户名的文件中的内容进行比较 - 无论我输入正确的密码大致相同或不.是否有一些算法原因,比如它必须检查一堆额外的地方才能确认它是不正确的?或者系统可能很快就知道密码不正确,但必须做很多工作才能跟踪错误的登录尝试.或许它只是试图惩罚我搞砸了.

das*_*ght 5

这完全是故意的:原因是无法使用字典攻击来猜测密码.

快速周转对字典攻击至关重要.减少不正确的密码是一种减慢攻击速度的方法,使得无法在有意义的时间间隔内执行.

  • 可能情况并非如此,但Doug Gwyn说:UNIX并不是为了阻止你做蠢事,因为这也会阻止你做一些聪明的事情.我不介意自己在脚下射击. (5认同)
  • @Shurane我真的希望答案是"不". (3认同)