RHEL 8:faillock 命令 - 如何获取计数

RHEL 8:faillock 命令 - 如何获取计数

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

相关内容