|
|
pam5 D/ \; ]2 y% G5 w8 q9 j- L
1.进入/etc/pam.d/password-auth 文件
: j# v9 K: Q$ m7 U/ \3 p2.添加配置,以这条配置为例.我在这里只设置错误三次锁定当前用户(不包括root),锁定时间为60秒, [: c. v' X! s
F" _) e3 M0 w. [9 H$ c. F
auth required pam_tally2.so file=/var/log/tallylog deny=3 unlock_time=606 b+ T q0 k- f5 r" h
account required pam_tally2.so
' y% E g7 s3 _* R- F
) Z o9 H$ R$ s, b或者source /etc/pam.d/password-auth文件也能解决
& o* `$ T5 Q$ c2 Z参数 作用6 P* U a6 Q8 O' ^9 w
even_deny_root 限制root用户& a( H& A+ s! {
deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户
0 [3 I5 u9 `1 y1 Q' f) N: d, J% ~# Iunlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒
0 m- E" t9 v4 l: u$ Wroot_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒, D+ J0 Z1 Q& [ G! D
3.查看解除锁定(以test为例):1 Y2 f" Z4 H/ j7 U, P
1 o' V5 Q0 N" T0 v p& g: J T4 o9 w
(1)查看错误登录次数/ g$ P% w; L n3 o9 Y8 Q
# v, k. X7 i* A1 ypam_tally --user=用户名 ! @5 H6 y( `+ S$ J- }; l
% U; z! v' j/ O8 j! e9 f
, m% C# ~& T& j1 S" }例如,查看test用户的错误登陆次数:
/ O& w+ y6 [) C7 l7 `) T# j6 `2 y ~& h% y
[root@localhost ~]# pam_tally2 --user=test
3 G& x1 s" g2 h" G6 pLogin Failures Latest failure From
* m6 D; i; Q" {- W: F- N, ~1 Ftest 0 , Q# l. a |1 }5 O4 t
/ { z- e2 T5 D
( [. {' W' |! [) q(2)清空某一用户错误登陆次数:
" `/ l- }* s8 Q4 A4 @4 Z
& E6 G; v( N7 |$ q, [pam_tally --user=用户名 --reset
2 W5 `" d# x& d. C1 `1. z/ |! T% \* A1 e& L" ?' k
例如,清空 test用户的错误登陆次数,
* N, j; F. t- v( o. M3 ^
0 h2 E# a! c5 l3 A[root@localhost ~]# pam_tally2 --user=test --reset
2 ], T9 \0 J( w8 \Login Failures Latest failure From
/ j: S6 u8 Z/ Q' ytest 19 06/21/20 22:17:30 192.168.61.1
& N, d3 h" z" w7 ~. R! ][root@localhost ~]# pam_tally2 --user=test
* Q$ L! n7 M! x% s$ ]4 C( c8 O7 P0 c% OLogin Failures Latest failure From
- k5 o; @5 k" D* o- }- c( x. Wtest 0
9 f, H, Z9 ? W0 F' H, q- b: Y' P7 i, Z6 ^& _4 S
`! A0 J7 d$ y; v0 \+ h5 ?& [! z: Gpam_faillock
/ E6 M' D Q7 @* u, r m& y9 ~在8版本中移除了pam_tally2.so这个模块,所以在8版本中我们需要用pam_faillock 来做用户登录失败的限制。
4 f' \' v1 |& _修改配置的位置不变还是password-auth文件
: L2 Q; J- B4 I) n1.进入/etc/pam.d/password-auth 文件/ F& E- O& q2 p
2.添加以下配置; m6 X1 e1 I) w
配置的内容含义基本与pam_tally2.so相同,可根据自己的需要进行配置
' c2 l$ m9 T8 e" o4 N/ ^: C7 H# i& \: g& a2 O& I
auth required pam_faillock.so preauth silent audit deny=3 unlock_time=600
3 k4 T8 H4 X, ?( x, v4 @auth sufficient pam_unix.so nullok try_first_pass! Y; q2 T; {7 w& R
auth [default=die] pam_faillock.so authfail audit deny=3
' f. Q% Q Z# A& H. Yaccount required pam_faillock.so
8 G7 q/ O% f O0 ^/ v3 n' i( Z: K. r8 y% K
faillock 命令
9 s4 L8 |" c4 \7 K查看失败计数% p. t1 {+ Q( S
faillock --user username
& c5 v3 R, m# Z$ d
1 s! }3 N. f" ?& J; v5 t[root@et8en ~]# faillock --user test* p1 i5 }' M, r
test:! B/ C( r3 L5 X0 S1 v2 H
When Type Source Valid, E8 \4 p2 Y3 s. D$ P) [4 o
2020-06-23 07:27:14 RHOST 192.168.61.1 V
; R+ p3 R6 a4 i6 [; C- F3 B+ s2020-06-23 07:27:21 RHOST 192.168.61.1 V
1 p- c8 y2 A. x- C- G4 o* c+ d2020-06-23 07:27:26 RHOST 192.168.61.1 V
4 k$ [) k5 m5 P5 f6 p
% i, R* F* c- B2 ]) i; y重置失败计数
Y5 p( z! f* P9 h2 Nfaillock --user username --reset
# |% `: V+ S( d9 o5 l' I* D8 P! \4 v/ T' K9 h. Q& Q: Z. q
后期期待继续更新。" ]2 A( J2 |; j" V8 Z5 u( J
2 S7 ^* ~* F) _9 `. d. \6 ~* c, q |
|