[root@l01 ~]# passwd -S pispread pispread PS 2020-04-30 7 99999 15 -1 (Password set, SHA512 crypt.)用戶鎖定 [root@l01 ~]# passwd -l pispread Locking password for user pispread. passwd: Success查看用戶 [root@l01 ~]# passwd -S pispread pispread LK 2020-04-30 7 99999 15 -1 (Password locked.)用戶解鎖 [root@l01 ~]# passwd -u pispread Unlocking password for user pispread. passwd: Success查看用戶 [root@l01 ~]# passwd -S pispread pispread PS 2020-04-30 7 99999 15 -1 (Password set, SHA512 crypt.)
passwd -u 解鎖不生效時試試這個
pam_tally2 --user=username --reset
這將輸出給定帳戶密碼狀態的簡短信息。
LK
NP
PS
使用 /etc/shadow 文件檢查鎖定的用戶帳戶狀態。如果帳戶已被鎖定,密碼前面將添加兩個感嘆號。
# grep test /etc/shadow
daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh
方法2:如何使用 usermod 命令在 Linux 中鎖定、解鎖和檢查給定用戶帳戶的狀態?
usermod 命令也經常被 Linux 管理員使用。 usermod 命令用於修改/更新給定用戶的帳戶信息。它用於將用戶添加到特定的組中,等等。
使用 -L 開關運行 usermod 命令,鎖定給定的用戶帳戶。
1
2
3
|
# usermod --lock daygeek
或
# usermod -L daygeek
|
你可以通過 passwd 命令或從 /etc/shadow 文件中獲取給定用戶名來檢查鎖定的帳戶狀態。
使用 passwd 命令檢查用戶帳戶鎖定狀態。
1
2
3
4
|
# passwd -S daygeek
或
# passwd --status daygeek
daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
|
這將輸出給定帳戶密碼狀態的簡短信息。
LK
NP
PS
使用 /etc/shadow 文件檢查鎖定的用戶帳戶狀態。如果帳戶已被鎖定,密碼前面將添加兩個感嘆號。
1
2
|
# grep daygeek /etc/shadow
daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00
|
:18047:7:90:7:::
使用 -U 開關運行 usermod 命令以解鎖給定的用戶帳戶。
1
2
3
|
# usermod --unlock daygeek
或
# usermod -U daygeek
|
方法-3:如何在 Linux 中使用 usermod 命令禁用、啟用對給定用戶帳戶的 SSH 訪問?
usermod 命令也是經常被 Linux 管理員使用的命令。 usermod 命令用於修改/更新給定用戶的帳戶信息。它用於將用戶添加到特定的組中,等等。
替代的,鎖定可以通過將 nologin shell 分配給給定用戶來完成。為此,可以運行以下命令。
1
|
# usermod -s /sbin/nologin daygeek
|
你可以通過從 /etc/passwd
文件中給定用戶名來檢查鎖定的用戶帳戶詳細信息。
1
2
|
# grep daygeek /etc/passwd
daygeek:x:2240:2243::
/home/daygeek
:
/sbin/nologin
|
我們可以通過分配回原來的 shell 來啟用用戶的 ssh 訪問。
# usermod -s /bin/bash daygeek
如何使用 shell 腳本鎖定、解鎖和檢查 Linux 中多個用戶帳戶的狀態?
如果你想鎖定/解鎖多個帳戶,那么你需要找個腳本。
是的,我們可以編寫一個小的 shell 腳本來執行這個操作。為此,請使用以下 shell 腳本。
創建用戶列表。每個用戶信息在單獨的行中。
$ cat user-lists.txt
u1
u2
u3
u4
u5
使用以下 shell 腳本鎖定 Linux中 的多個用戶帳戶。
1
2
3
4
5
6
|
# user-lock.sh
#!/bin/bash
for
user
in
`
cat
user-lists.txt`
do
passwd
-l $user
done
|
將 user-lock.sh
文件設置為可執行權限。
# chmod + user-lock.sh
最后運行腳本來達成目標。
# sh user-lock.sh
1
2
3
4
5
6
7
8
9
10
|
Locking password
for
user u1.
passwd
: Success
Locking password
for
user u2.
passwd
: Success
Locking password
for
user u3.
passwd
: Success
Locking password
for
user u4.
passwd
: Success
Locking password
for
user u5.
passwd
: Success
|
使用以下 shell 腳本檢查鎖定的用戶帳戶。
1
2
3
4
5
6
|
# vi user-lock-status.sh
#!/bin/bash
for
user
in
`
cat
user-lists.txt`
do
passwd
-S $user
done
|
設置 user-lock-status.sh
可執行權限。
# chmod + user-lock-status.sh
最后運行腳本來達成目標。
1
2
3
4
5
6
|
# sh user-lock-status.sh
u1 LK 2019-06-10 0 99999 7 -1 (Password locked.)
u2 LK 2019-06-10 0 99999 7 -1 (Password locked.)
u3 LK 2019-06-10 0 99999 7 -1 (Password locked.)
u4 LK 2019-06-10 0 99999 7 -1 (Password locked.)
u5 LK 2019-06-10 0 99999 7 -1 (Password locked.)
|
使用下面的 shell 腳本來解鎖多個用戶。
1
2
3
4
5
6
|
# user-unlock.sh
#!/bin/bash
for
user
in
`
cat
user-lists.txt`
do
passwd
-u $user
done
|
設置 user-unlock.sh
可執行權限。
# chmod + user-unlock.sh
最后運行腳本來達成目標。
1
2
3
4
5
6
7
8
9
10
11
12
|
# sh user-unlock.sh
Unlocking password
for
user u1.
passwd
: Success
Unlocking password
for
user u2.
passwd
: Success
Unlocking password
for
user u3.
passwd
: Success
Unlocking password
for
user u4.
passwd
: Success
Unlocking password
for
user u5.
passwd
: Success
|
運行相同的 shell 腳本 user-lock-status.sh
,檢查這些鎖定的用戶帳戶在 Linux 中是否被解鎖。
1
2
3
4
5
6
|
# sh user-lock-status.sh
u1 PS 2019-06-10 0 99999 7 -1 (Password
set
, SHA512 crypt.)
u2 PS 2019-06-10 0 99999 7 -1 (Password
set
, SHA512 crypt.)
u3 PS 2019-06-10 0 99999 7 -1 (Password
set
, SHA512 crypt.)
u4 PS 2019-06-10 0 99999 7 -1 (Password
set
, SHA512 crypt.)
u5 PS 2019-06-10 0 99999 7 -1 (Password
set
, SHA512 crypt.)
|