pam_tally2 コマンドは RHEL 8 では廃止されました。以前のバージョンの 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に置き換えられているので、passlockコマンドを使用する必要があります。
しかし、問題は、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回以上失敗しました。ただし、次のようにpasslock --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
失敗したログインは、「lastb」を介してアクセスされる/var/log/btmpに保存されるため、使用できます。ユーザーIDが切り捨てられます(「testNG_A」)。
sudo lastb - 以降(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