Linux中國

在 Linux 中鎖定和解鎖用戶帳戶的三種方法

如果你已經在你的組織中實施了某種密碼策略,你無需看這篇文章了。但是在這種情況下,如果你給賬戶設置了 24 小時的鎖定期,你需要手動解鎖用戶帳戶。

本教程將幫助你在 Linux 中手動鎖定和解鎖用戶帳戶。

這可以通過三種方式使用以下兩個 Linux 命令來完成。

  • passwd:用於更新用戶的身份驗證令牌。這個任務是通過調用 Linux PAM 和 libuser API 來實現。
  • usermod:用於修改/更新給定用戶的帳戶信息。它用於將用戶添加到特定的組中等等功能。

為了說明這一點,我們選擇 daygeek 用戶帳戶。讓我們看看,怎麼一步步來實現的。

請注意,你必須使用你需要鎖定或解鎖的用戶的帳戶,而不是我們的帳戶。你可以使用 id 命令檢查給定的用戶帳戶在系統中是否可用。是的,我的這個帳戶在我的系統中是可用的。

# id daygeek

uid=2240(daygeek) gid=2243(daygeek) groups=2243(daygeek),2244(ladmin)

方法1: 如何使用 passwd 命令鎖定、解鎖和檢查 Linux 中給定用戶帳戶的狀態?

passwd 命令是 Linux 管理員經常使用的命令之一。它用於更新 /etc/shadow 文件中用戶的身份驗證令牌。

使用 -l 開關運行 passwd 命令,鎖定給定的用戶帳戶。

# passwd -l daygeek

Locking password for user daygeek.
passwd: Success

你可以通過 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 開關運行 passwd 命令,可以解鎖給定的用戶帳戶。

# passwd -u daygeek

Unlocking password for user daygeek.
passwd: Success

方法2:如何使用 usermod 命令在 Linux 中鎖定、解鎖和檢查給定用戶帳戶的狀態?

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

方法-3:如何在 Linux 中使用 usermod 命令禁用、啟用對給定用戶帳戶的 SSH 訪問?

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 腳本鎖定、解鎖和檢查 Linux 中多個用戶帳戶的狀態?

如果你想鎖定/解鎖多個帳戶,那麼你需要找個腳本。

是的,我們可以編寫一個小的 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: https://www.2daygeek.com/lock-unlock-disable-enable-user-account-linux/

作者:Magesh Maruthamuthu 選題:lujun9972 譯者:heguangzhi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國