在 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
訂閱“Linux 中國”官方小程式來檢視
相關文章
- 2 Day DBA-管理Oracle例項-給使用者帳戶指定表空間配額-鎖定和解鎖使用者帳戶Oracle
- 如何在Linux中鎖定和解鎖多個使用者Linux
- AIX使用者賬戶鎖定與解鎖最佳方法AI
- 該帳戶當前被鎖定,所以使用者 'sa' 登入失敗。系統管理員無法將該帳戶解鎖。
- 在 Linux 中查詢使用者帳戶和登入詳細資訊的 11 種方法Linux
- 如何快速鎖定 Mac,Macbook快速鎖定的幾種方法Mac
- [ Linux ] Jellyfin 賬戶被鎖定如何解鎖Linux
- 鎖定Mac電腦的8種方法Mac
- Linux中的兩種檔案鎖---協同鎖與強制鎖Linux
- 詳解 MySql InnoDB 中的三種行鎖(記錄鎖、間隙鎖與臨鍵鎖)MySql
- linux 賬戶鎖與解鎖Linux
- 【MySQL】鎖——檢視當前資料庫鎖請求的三種方法MySql資料庫
- oracle 檢視鎖表和解鎖Oracle
- oracle檢視被鎖的表和解鎖Oracle
- Win10系統下管理員帳戶被鎖定如何解決Win10
- 10.1.0.3資料庫帳號被鎖定資料庫
- mysql鎖之三種行級鎖介紹MySql
- Java 中15種鎖的介紹:公平鎖,可重入鎖,獨享鎖,互斥鎖,樂觀鎖,分段鎖,自旋鎖等等Java
- iOS 中的各種鎖iOS
- 關於 ReentrantLock 中鎖 lock() 和解鎖 unlock() 的底層原理淺析ReentrantLock
- win10賬戶鎖定多久解除 win10賬戶鎖定怎麼解除Win10
- React中 `鎖定`this的N種‘facade pattern’模式React模式
- Java 種15種鎖的介紹:公平鎖,可重入鎖,獨享鎖,互斥鎖等等Java
- Java 種15種鎖的介紹:公平鎖,可重入鎖,獨享鎖,互斥鎖等等...Java
- C++中的各種鎖C++
- 分散式鎖初窺-分散式鎖的三種實現方式分散式
- 在2000/xp中鎖定ip地址
- 域賬戶頻繁鎖定排查
- 在Linux中,mysql的innodb如何定位鎖問題?LinuxMySql
- HPUX下解除使用者鎖定UX
- iOS開發中的幾種鎖iOS
- Java中15種鎖的介紹Java
- excel鎖定公式$怎麼輸入 表格中如何鎖定公式Excel公式
- 【Java併發】【AQS鎖】鎖在原始碼中的應用JavaAQS原始碼
- windows10系統中禁用螢幕鎖定的方法Windows
- SQL Server 中的鎖定介紹SQLServer
- java 中的鎖 -- 偏向鎖、輕量級鎖、自旋鎖、重量級鎖Java
- python 小程式,輸錯三次密碼鎖定賬戶Python密碼