RHEL 8 已弃用 pam_tally2 命令。早期版本的 pam_tally 命令为我们提供了失败计数。例如
[root@Linux7 ~]# pam_tally2
Login Failures Latest failure From
testNG_Admin 2 08/21/19 04:58:57 /deve/pts/0
由于 pam_faillock 被替换为 pam_tally2,现在我们要使用faillock 命令。
但问题是faillock命令不提供失败计数,而是提供所有详细信息。
例如
[root@bsingh-vm4 ~]# faillock
a735c:
When Type Source Valid
ajit:
When Type Source Valid
2019-08-22 18:36:41 RHOST 172.18.252.88 V
2019-08-22 18:36:46 RHOST 172.18.252.88 V
2019-08-22 18:36:51 RHOST 172.18.252.88 V
有什么方法可以使用某些命令来计数吗?例如
a735c 0
ajit 3
提前致谢!!!
答案1
我们收到了 RedHat 的请求,也提出了同样的要求。这是我想出的最好的。
对于我们的配置,当出现 5 次失败时,用户将被锁定。
在 rhel8-instance 上,我对 testNG_Admin 进行了超过 5 次失败;但是faillock --user只报告导致锁定的5个,如下:
[myActiveUser@rhel8-instance ~]$ sudo faillock --user testNG_Admin
testNG_Admin:
When Type Source Valid
2019-12-03 16:12:27 TTY pts/0 V
2019-12-03 16:12:39 TTY pts/0 V
2019-12-03 16:17:51 TTY pts/0 V
2019-12-03 16:17:56 TTY pts/0 V
2019-12-03 16:18:01 TTY pts/0 V
想知道自用户重置以来有多少次失败? (这是 pam_tally2 将提供的) - 不知道如何实现这一点!
但是,我们可以得到自上次成功登录以来总共有多少次失败。首先我们获取最后一次成功登录的时间
[myActiveUser@rhel8-instance ~]$ sudo lastlog --user testNG_Admin
Username Port From Latest
testNG_Admin pts/0 Tue Dec 3 16:06:54 -0600 2019
现在,由于失败的登录保存在 /var/log/btmp 中,通过“lastb”访问,我们可以使用它......注意到用户 ID 被截断(“testNG_A”)
sudo lastb --since (YYYYMMDDhhmmss)
[myActiveUser@rhel8-instance ~]$ sudo lastb testNG_Admin --since 20191203160654
testNG_A pts/0 Tue Dec 3 16:18 - 16:18 (00:00)
testNG_A pts/0 Tue Dec 3 16:18 - 16:18 (00:00)
testNG_A pts/0 Tue Dec 3 16:18 - 16:18 (00:00)
testNG_A pts/0 Tue Dec 3 16:18 - 16:18 (00:00)
testNG_A pts/0 Tue Dec 3 16:18 - 16:18 (00:00)
testNG_A pts/0 Tue Dec 3 16:17 - 16:17 (00:00)
testNG_A pts/0 Tue Dec 3 16:17 - 16:17 (00:00)
testNG_A pts/0 Tue Dec 3 16:12 - 16:12 (00:00)
testNG_A pts/0 Tue Dec 3 16:12 - 16:12 (00:00)
btmp begins Tue Dec 3 15:50:22 2019
[myActiveUser@rhel8-instance ~]$ sudo lastb testNG_Admin --since 20191203160654 | grep testNG_A | wc -l
9
所以现在我们知道自上次成功登录以来有 9 次...但是...如果我们重置帐户,并且没有成功,我们仍然不知道由于帐户已解锁而失败的确切次数,就像 pam_tally2 一样展示!
[myActiveUser@rhel8-instance ~]$ sudo faillock --user testNG_Admin --reset
[myActiveUser@rhel8-instance ~]$ sudo faillock --user testNG_Admin
testNG_Admin:
When Type Source Valid
[myActiveUser@rhel8-instance ~]$ sudo lastlog --user testNG_Admin
Username Port From Latest
testNG_Admin pts/0 Tue Dec 3 16:06:54 -0600 2019
[myActiveUser@rhel8-instance ~]$ su - testNG_Admin
Password:
Last login: Tue Dec 3 16:06:54 CST 2019 on pts/0
Last failed login: Tue Dec 3 16:18:27 CST 2019 on pts/0
There were 9 failed login attempts since the last successful login.
[testNG_Admin@rhel8-instance ~]$ exit
logout
[myActiveUser@rhel8-instance ~]$ sudo lastlog --user testNG_Admin
Username Port From Latest
testNG_Admin pts/0 Tue Dec 3 16:23:30 -0600 2019
[myActiveUser@rhel8-instance ~]$ sudo lastb testNG_Admin --since 20191203162330
btmp begins Tue Dec 3 15:50:22 2019
[myActiveUser@rhel8-instance ~]$ sudo lastb testNG_Admin --since 20191203162330 | grep testNG_A| wc -l
0