Laz*_*zer 8 linux password authentication sudo
$ sudo some_command
Password:
Sorry, try again.
Sorry, try again.
Sorry, try again.
sudo: 3 incorrect password attempts
$
Run Code Online (Sandbox Code Playgroud)
这是当我向 sudoed 命令输入错误密码时我的 shell 打印的内容。
为什么会发生这种情况?
$ sudo -V
Sudo version 1.6.7p5
$ uname -a
Linux lazer 2.6.18-164.0.0.0.1.el5xen #1 SMP Thu Sep 3 00:34:43 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
$
Run Code Online (Sandbox Code Playgroud)
不久前,我在我的 PAM 配置中试验了 RSA SecurID 模块,并成功地为自己创建了这种行为,因此我知道一种复制您所看到的内容的方法。
如果您的 pam 模块PAM_AUTH_ERR作为唯一配置的required模块或requisite在其他任何模块之前(或在具有类似效果的许多其他可能配置中)失败(返回),它将立即返回失败sudo,然后再次尝试两次,快速连续获得三个失败。(您可以配置passwd_tries的/etc/sudoers,以获得更多或更少的失误比3的值,如果由于某种原因你喜欢。)
这不会首先提示您输入密码,但肯定有一些 PAM 配置可以做到这一点,在第一次失败后将您锁定,然后在下次尝试时快速返回失败。
因此,我将继续猜测您要么弄乱了 PAM 配置,要么该配置所指向的某些内容以不会引入延迟的方式失败(无论正确与否)。(“正常”延迟通常实际上是由pam_unix.so模块引入的,除非你给它nodelay参数。)
重新创建它的一种简单方法是将
auth requisite pam_deny.so
Run Code Online (Sandbox Code Playgroud)
中任何现有auth行的正上方/etc/pam.d/sudo。同样,这是insta-failure,而不是提示一次然后失败,但这应该让您了解您的特定配置。(据我所知,如果您提供正确的密码,您的设置就可以正常工作,因此我会调查您配置的 PAM 模块的失败行为。)
| 归档时间: |
|
| 查看次数: |
3813 次 |
| 最近记录: |