为什么糟糕的请求需要这么长时间?

Pau*_*aul 3 command-line

我注意到这也是其他操作系统,但在 Ubuntu Linux 中最为明显。每当提出一个好的请求时,它实际上是立即计算出来的。但是,每当发出错误的请求(错误的密码、不存在的命令等)时,它需要几秒钟才能让我尝试再次输入。这是某种安全措施吗?

Ser*_*gey 11

我同意 kyleN 关于为什么在终端中输入错误命令比启动现有程序需要更长的时间的回答。

然而,输入错误密码后的暂停是完全不同的事情 - 这种延迟是有意引入的,以防止暴力密码攻击(即每秒尝试数千个密码,直到匹配为止)。在输入不正确的密码时添加一小段延迟不会影响“真实”用户的可用性,但会使此类攻击完全不切实际。所以是的,在这种情况下,这是一项安全措施。


kyl*_*leN 6

通用问题的通用答案:只有在搜索所有可能的匹配项并没有找到匹配项后,才确定“错误请求”为“未找到”。然而,当某物被“发现”时,它通常足够具体,可以很快被发现,并且在确定它被“发现”之前并不是所有的可能性都需要检查。

  • 我还要补充一点,当找不到命令时,Ubuntu 会查找存储库中是否安装或可用的类似名称的程序,这也需要一些时间,但通常很有帮助 (7认同)