所以我想完成一些事情,但我做不到。我试图将登录尝试次数限制为 3 次(通过 ssh、终端或 gui)。在这 3 次尝试失败后,我想锁定该帐户 1 小时。
我有两个测试帐户在更改之前运行正常user1 is an ldap account
:user2 is a local account with a set password
在按照 rhel 网站上的建议对 system-auth 和 password-auth 进行更改后,我根本无法登录。幸运的是,我没有修改 root 帐户,我仍然可以访问系统,但我不明白出了什么问题。
两个文件system-auth
都password-auth
相同,这是我的配置:
auth required pam_env.so
auth required pam_faillock.so preauth silent deny=3 unlock_time=3600 fail_interval=900
auth sufficient pam_unix.so nullok try_first_pass
auth [default=die] pam_faillock.so authfail deny=3 unlock_time=3600 fail_interval=900
auth sufficient pam_faillock.so authsucc audit deny=3
auth requisite pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so
account required pam_faillock.so
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3 type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session optional pam_oddjob_mkhomedir.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
我检查了一下passwd -S user1
,它似乎没有被锁定,并且在日志下我所能看到的Failed password
只是两个帐户。
有人能指导我或告诉我如何实现我的目标吗?我只想强制执行失败的登录尝试和锁定时间。
答案1
首先,pam_faillock
不会像 所见的那样锁定帐户passwd -S user
。它永远不会对 LDAP 帐户起作用。要查看使用此方法锁定的帐户,只需运行faillock
。示例:
[root@localhost ~]# faillock
john:
When Type Source
Valid
2013-03-05 11:44:14 TTY pts/0
V
要解锁用户帐户,请运行:
faillock --user <username> --reset
现在,至于为什么这会给你带来问题。我不太确定 auth 部分中的第三行故障锁定。在我使用过的例子实现故障锁定的命令不存在。此外,第一个条目中缺少审计命令。
但是,我无法想象这就是手册页所解释的造成您遇到麻烦的原因。
审计
如果找不到用户,则会将用户名记录到系统日志中。
您提到您使用 RHEL 网站来实现这一点。查看该 URL 并将其与我所查看的内容进行比较可能会有所帮助,因为它们略有不同。