若是你已經在你的組織中實施了某種密碼策略,你無需看這篇文章了。可是在這種狀況下,若是你給帳戶設置了 24 小時的鎖按期,你須要手動解鎖用戶賬戶。linux
本教程將幫助你在 Linux 中手動鎖定和解鎖用戶賬戶。git
這能夠經過三種方式使用如下兩個 Linux 命令來完成。github
passwd
:用於更新用戶的身份驗證令牌。這個任務是經過調用 Linux PAM 和 libuser API 來實現。usermod
:用於修改/更新給定用戶的賬戶信息。它用於將用戶添加到特定的組中等等功能。爲了說明這一點,咱們選擇 daygeek
用戶賬戶。讓咱們看看,怎麼一步步來實現的。shell
請注意,你必須使用你須要鎖定或解鎖的用戶的賬戶,而不是咱們的賬戶。你可使用 id
命令檢查給定的用戶賬戶在系統中是否可用。是的,個人這個賬戶在個人系統中是可用的。bash
# id daygeek
uid=2240(daygeek) gid=2243(daygeek) groups=2243(daygeek),2244(ladmin)
複製代碼
passwd
命令是 Linux 管理員常常使用的命令之一。它用於更新 /etc/shadow
文件中用戶的身份驗證令牌。ssh
使用 -l
開關運行 passwd
命令,鎖定給定的用戶賬戶。ui
# passwd -l daygeek
Locking password for user daygeek.
passwd: Success
複製代碼
你能夠經過 passwd
命令或從 /etc/shadow
文件中獲取給定用戶名來檢查鎖定的賬戶狀態。spa
使用 passwd
命令檢查用戶賬戶鎖定狀態。3d
# passwd -S daygeek
或
# passwd --status daygeek
daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
複製代碼
這將輸出給定賬戶密碼狀態的簡短信息。code
LK
:密碼被鎖定NP
:沒有設置密碼PS
:密碼已設置使用 /etc/shadow
文件檢查鎖定的用戶賬戶狀態。若是賬戶已被鎖定,密碼前面將添加兩個感嘆號。
# grep daygeek /etc/shadow
daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::
複製代碼
使用 -u
開關運行 passwd
命令,能夠解鎖給定的用戶賬戶。
# passwd -u daygeek
Unlocking password for user daygeek.
passwd: Success
複製代碼
usermod
命令也常常被 Linux 管理員使用。usermod
命令用於修改/更新給定用戶的賬戶信息。它用於將用戶添加到特定的組中,等等。
使用 -L
開關運行 usermod
命令,鎖定給定的用戶賬戶。
# usermod --lock daygeek
或
# usermod -L daygeek
複製代碼
你能夠經過 passwd
命令或從 /etc/shadow
文件中獲取給定用戶名來檢查鎖定的賬戶狀態。
使用 passwd
命令檢查用戶賬戶鎖定狀態。
# passwd -S daygeek
或
# passwd --status daygeek
daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
複製代碼
這將輸出給定賬戶密碼狀態的簡短信息。
LK
:密碼被鎖定NP
:沒有設置密碼PS
:密碼已設置使用 /etc/shadow
文件檢查鎖定的用戶賬戶狀態。若是賬戶已被鎖定,密碼前面將添加兩個感嘆號。
# grep daygeek /etc/shadow
daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::
複製代碼
使用 -U
開關運行 usermod
命令以解鎖給定的用戶賬戶。
# usermod --unlock daygeek
或
# usermod -U daygeek
複製代碼
usermod
命令也是常常被 Linux 管理員使用的命令。usermod
命令用於修改/更新給定用戶的賬戶信息。它用於將用戶添加到特定的組中,等等。
替代的,鎖定能夠經過將 nologin
shell 分配給給定用戶來完成。爲此,能夠運行如下命令。
# usermod -s /sbin/nologin daygeek
複製代碼
你能夠經過從 /etc/passwd
文件中給定用戶名來檢查鎖定的用戶賬戶詳細信息。
# grep daygeek /etc/passwd
daygeek:x:2240:2243::/home/daygeek:/sbin/nologin
複製代碼
咱們能夠經過分配回原來的 shell 來啓用用戶的 ssh 訪問。
# usermod -s /bin/bash daygeek
複製代碼
若是你想鎖定/解鎖多個賬戶,那麼你須要找個腳本。
是的,咱們能夠編寫一個小的 shell 腳原本執行這個操做。爲此,請使用如下 shell 腳本。
建立用戶列表。每一個用戶信息在單獨的行中。
$ cat user-lists.txt
u1
u2
u3
u4
u5
複製代碼
使用如下 shell 腳本鎖定 Linux中 的多個用戶賬戶。
# 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
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 腳本檢查鎖定的用戶賬戶。
# 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
複製代碼
最後運行腳原本達成目標。
# 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 腳原本解鎖多個用戶。
# user-unlock.sh
#!/bin/bash
for user in `cat user-lists.txt`
do
passwd -u $user
done
複製代碼
設置 user-unlock.sh
可執行權限。
# chmod + user-unlock.sh
複製代碼
最後運行腳原本達成目標。
# 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 中是否被解鎖。
# 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.)
複製代碼
via: www.2daygeek.com/lock-unlock…
做者:Magesh Maruthamuthu 選題:lujun9972 譯者:heguangzhi 校對:wxy