如果你已經(jīng)在你的組織中實(shí)施了某種密碼策略,你無需看這篇文章了。
-- Magesh Maruthamuthu(作者)
如果你已經(jīng)在你的組織中實(shí)施了某種密碼策略,你無需看這篇文章了。但是在這種情況下,如果你給賬戶設(shè)置了 24 小時(shí)的鎖定期,你需要手動(dòng)解鎖用戶帳戶。
本教程將幫助你在 linux 中手動(dòng)鎖定和解鎖用戶帳戶。
這可以通過三種方式使用以下兩個(gè) Linux 命令來完成。
- passwd:用于更新用戶的身份驗(yàn)證令牌。這個(gè)任務(wù)是通過調(diào)用 Linux PAM 和 libuser API 來實(shí)現(xiàn)。
- usermod:用于修改/更新給定用戶的帳戶信息。它用于將用戶添加到特定的組中等等功能。
為了說明這一點(diǎn),我們選擇 daygeek 用戶帳戶。讓我們看看,怎么一步步來實(shí)現(xiàn)的。
請(qǐng)注意,你必須使用你需要鎖定或解鎖的用戶的帳戶,而不是我們的帳戶。你可以使用 id 命令檢查給定的用戶帳戶在系統(tǒng)中是否可用。是的,我的這個(gè)帳戶在我的系統(tǒng)中是可用的。
# id daygeek uid=2240(daygeek) gid=2243(daygeek) groups=2243(daygeek),2244(ladmin)
方法1: 如何使用 passwd 命令鎖定、解鎖和檢查 Linux 中給定用戶帳戶的狀態(tài)?
passwd 命令是 Linux 管理員經(jīng)常使用的命令之一。它用于更新 /etc/shadow 文件中用戶的身份驗(yàn)證令牌。
使用 -l 開關(guān)運(yùn)行 passwd 命令,鎖定給定的用戶帳戶。
# passwd -l daygeek Locking password for user daygeek. passwd: Success
你可以通過 passwd 命令或從 /etc/shadow 文件中獲取給定用戶名來檢查鎖定的帳戶狀態(tài)。
使用 passwd 命令檢查用戶帳戶鎖定狀態(tài)。
# passwd -S daygeek 或 # passwd --status daygeek daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
這將輸出給定帳戶密碼狀態(tài)的簡(jiǎn)短信息。
- LK:密碼被鎖定
- NP:沒有設(shè)置密碼
- PS:密碼已設(shè)置
使用 /etc/shadow 文件檢查鎖定的用戶帳戶狀態(tài)。如果帳戶已被鎖定,密碼前面將添加兩個(gè)感嘆號(hào)。
# grep daygeek /etc/shadow daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::
使用 -u 開關(guān)運(yùn)行 passwd 命令,可以解鎖給定的用戶帳戶。
# passwd -u daygeek Unlocking password for user daygeek. passwd: Success
方法2:如何使用 usermod 命令在 Linux 中鎖定、解鎖和檢查給定用戶帳戶的狀態(tài)?
usermod 命令也經(jīng)常被 Linux 管理員使用。usermod 命令用于修改/更新給定用戶的帳戶信息。它用于將用戶添加到特定的組中,等等。
使用 -L 開關(guān)運(yùn)行 usermod 命令,鎖定給定的用戶帳戶。
# usermod --lock daygeek 或 # usermod -L daygeek
你可以通過 passwd 命令或從 /etc/shadow 文件中獲取給定用戶名來檢查鎖定的帳戶狀態(tài)。
使用 passwd 命令檢查用戶帳戶鎖定狀態(tài)。
# passwd -S daygeek 或 # passwd --status daygeek daygeek LK 2019-05-30 7 90 7 -1 (Password locked.)
這將輸出給定帳戶密碼狀態(tài)的簡(jiǎn)短信息。
- LK:密碼被鎖定
- NP:沒有設(shè)置密碼
- PS:密碼已設(shè)置
使用 /etc/shadow 文件檢查鎖定的用戶帳戶狀態(tài)。如果帳戶已被鎖定,密碼前面將添加兩個(gè)感嘆號(hào)。
# grep daygeek /etc/shadow daygeek:!!$6$tGvVUhEY$PIkpI43HPaEoRrNJSRpM3H0YWOsqTqXCxtER6rak5PMaAoyQohrXNB0YoFCmAuh406n8XOvBBldvMy9trmIV00:18047:7:90:7:::
使用 -U 開關(guān)運(yùn)行 usermod 命令以解鎖給定的用戶帳戶。
# usermod --unlock daygeek 或 # usermod -U daygeek
方法-3:如何在 Linux 中使用 usermod 命令禁用、啟用對(duì)給定用戶帳戶的 SSH 訪問?
usermod 命令也是經(jīng)常被 Linux 管理員使用的命令。usermod 命令用于修改/更新給定用戶的帳戶信息。它用于將用戶添加到特定的組中,等等。
替代的,鎖定可以通過將 nologin shell 分配給給定用戶來完成。為此,可以運(yùn)行以下命令。
# usermod -s /sbin/nologin daygeek
你可以通過從 /etc/passwd 文件中給定用戶名來檢查鎖定的用戶帳戶詳細(xì)信息。
# grep daygeek /etc/passwd daygeek:x:2240:2243::/home/daygeek:/sbin/nologin
我們可以通過分配回原來的 shell 來啟用用戶的 ssh 訪問。
# usermod -s /bin/bash daygeek
如何使用 shell 腳本鎖定、解鎖和檢查 Linux 中多個(gè)用戶帳戶的狀態(tài)?
如果你想鎖定/解鎖多個(gè)帳戶,那么你需要找個(gè)腳本。
是的,我們可以編寫一個(gè)小的 shell 腳本來執(zhí)行這個(gè)操作。為此,請(qǐng)使用以下 shell 腳本。
創(chuàng)建用戶列表。每個(gè)用戶信息在單獨(dú)的行中。
$ cat user-lists.txt u1 u2 u3 u4 u5
使用以下 shell 腳本鎖定 Linux中 的多個(gè)用戶帳戶。
# user-lock.sh #!/bin/bash for user in `cat user-lists.txt` do passwd -l $user done
將 user-lock.sh 文件設(shè)置為可執(zhí)行權(quán)限。
# chmod + user-lock.sh
最后運(yùn)行腳本來達(dá)成目標(biāo)。
# 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
設(shè)置 user-lock-status.sh 可執(zhí)行權(quán)限。
# chmod + user-lock-status.sh
最后運(yùn)行腳本來達(dá)成目標(biāo)。
# 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 腳本來解鎖多個(gè)用戶。
# user-unlock.sh #!/bin/bash for user in `cat user-lists.txt` do passwd -u $user done
設(shè)置 user-unlock.sh 可執(zhí)行權(quán)限。
# chmod + user-unlock.sh
最后運(yùn)行腳本來達(dá)成目標(biāo)。
# 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
運(yùn)行相同的 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: https://www.2daygeek.com/lock-unlock-disable-enable-user-account-linux/
作者: Magesh Maruthamuthu 選題: lujun9972 譯者: heguangzhi 校對(duì): wxy
本文由 LCTT 原創(chuàng)編譯, Linux中國(guó) 榮譽(yù)推出