Centos 6 中的账户锁定设置

Centos 6 中的账户锁定设置

我正在尝试实现 3 次登录失败后锁定帐户的功能。Root 除外。

以下是我的/etc/pam.d/系统身份验证到目前为止的文件

auth        required      pam_tally2.so deny=3 onerr=fail magic_root
account     required      pam_tally2.so

在我的sshd 配置文件文件中,我添加了以下行

auth        required      pam_tally2.so deny=3 onerr=fail magic_root

但是这不管用。我尝试使用测试非 root 用户和错误密码通过 SSH 登录,但它并没有将我锁定。

但是,如果我调整sshd 配置文件文件并删除 magic_root 行,如下所示:

auth        required      pam_tally2.so deny=3 onerr=fail

测试帐户将被锁定。

我是否遗漏了什么?

另外,有人可以解释一下/etc/pam.d/系统身份验证/etc/pam.d/密码验证?这些设置应该进入系统身份验证还是密码身份验证?谢谢

答案1

我没有亲身经历,但我认为你可能误读了手册页pam_tally2

我说

magic_root

如果模块由 uid=0 的用户调用,则计数器不会增加。系统管理员应该将此用于用户启动的服务,如 su,否则应省略此参数。

注意关于仅使用 的注释su。为什么?因为大多数其他时候,此模块always由 EUID 为 0 的用户调用,因为大多数使用此模块的系统服务(passwdsshd等)都以 root 身份运行,事实上它们必须如此。

那么你需要设置什么标志来避免 root 被该模块锁定sshd?手册页还指出:

通常,访问 root 的尝试失败不会导致 root 帐户被阻止,以防止拒绝服务:如果您的用户没有提供 shell 帐户并且 root 只能通过 su 或在机器控制台上登录(而不是 telnet/rsh 等),这是安全的。

换句话说,您想要的行为已经是默认行为。

相关内容