在 Linux 系統中禁用與解禁使用者的賬號
總有這樣的時候:有時你需要禁用某位 Linux 使用者的賬號,有時你還需要反過來解禁使用者的賬號。 本文將介紹一些管理使用者訪問的命令,並介紹它們背後的原理。
假如你正管理著一臺 Linux 系統,那麼很有可能將遇到需要禁用一個賬號的情況。可能是某人已經換了職位,他們是否還需要該賬號仍是個問題;或許有理由相信再次使用該賬號並沒有大礙。不管上述哪種情況,知曉如何禁用賬號並解禁賬號都是你需要知道的知識。
需要你記住的一件重要的事是儘管有多種方法來禁用賬號,但它們並不都達到相同的效果。假如使用者使用公鑰/私鑰來使用該賬號而不是使用密碼來訪問,那麼你使用的某些命令來阻止使用者獲取該賬號或許將不會生效。
使用 passwd 來禁用一個賬號
最為簡單的用來禁用一個賬號的方法是使用 passwd -l
命令。例如:
$ sudo passwd -l tadpole
上面這個命令的效果是在加密後的密碼檔案 /etc/shadow
中,使用者對應的那一行的最前面加上一個 !
符號。這樣就足夠阻止使用者使用密碼來訪問賬號了。
在沒有使用上述命令前,加密後的密碼行如下所示(請注意第一個字元):
$6$IC6icrWlNhndMFj6$Jj14Regv3b2EdK.8iLjSeO893fFig75f32rpWpbKPNz7g/eqeaPCnXl3iQ7RFIN0BGC0E91sghFdX2eWTe2ET0:18184:0:99999:7:::
而禁用該賬號後,這一行將變為:
!$6$IC6icrWlNhndMFj6$Jj14Regv3b2EdK.8iLjSeO893fFig75f32rpWpbKPNz7g/eqeaPCnXl3iQ7RFIN0BGC0E91sghFdX2eWTe2ET0:18184:0:99999:7:::
在 tadpole 下一次嘗試登入時,他可能會使用他原有的密碼來嘗試多次登入,但就是無法再登入成功了。另一方面,你則可以使用下面的命令來檢視他這個賬號的狀態(-S
= status):
$ sudo passwd -S tadpole
tadpole L 10/15/2019 0 99999 7 -1
第二項的 L
告訴你這個賬號已經被禁用了。在該賬號被禁用前,這一項應該是 P
。如果顯示的是 NP
則意味著該賬號還沒有設定密碼。
命令 usermod -L
也具有相同的效果(新增 !
來禁用賬號的使用)。
使用這種方法來禁用某個賬號的一個好處是當需要解禁某個賬號時非常容易。只需要使用一個文字編輯器或者使用 passwd -u
命令來執行相反的操作,即將新增的 !
移除即可。
$ sudo passwd -u tadpole
passwd: password expiry information changed.
但使用這種方式的問題是如果使用者使用公鑰/私鑰對的方式來訪問他/她的賬號,這種方式將不能阻止他們使用該賬號。
使用 chage 命令來禁用賬號
另一種禁用使用者賬號的方法是使用 chage
命令,它可以幫助管理使用者賬號的過期日期。
$ sudu chage -E0 tadpole
$ sudo passwd -S tadpole
tadpole P 10/15/2019 0 99999 7 -1
chage
命令將會稍微修改 /etc/shadow
檔案。在這個使用 :
來分隔的檔案(下面將進行展示)中,某行的第 8 項將被設定為 0
(先前為空),這就意味著這個賬號已經過期了。chage
命令會追蹤密碼更改期間的天數,通過選項也可以提供賬號過期資訊。第 8 項如果是 0 則意味著這個賬號在 1970 年 1 月 1 日後的一天過期,當使用上面顯示的那個命令時可以用來禁用賬號。
$ sudo grep tadpole /etc/shadow | fold
tadpole:$6$IC6icrWlNhndMFj6$Jj14Regv3b2EdK.8iLjSeO893fFig75f32rpWpbKPNz7g/eqeaPC
nXl3iQ7RFIN0BGC0E91sghFdX2eWTe2ET0:18184:0:99999:7::0:
^
|
+--- days until expiration
為了執行相反的操作,你可以簡單地使用下面的命令將放置在 /etc/shadow
檔案中的 0
移除掉:
% sudo chage -E-1 tadpole
一旦一個賬號使用這種方式被禁用,即便是無密碼的 SSH 登入也不能再訪問該賬號了。
via: https://www.networkworld.com/article/3513982/locking-and-unlocking-accounts-on-linux-systems.html
作者:Sandra Henry-Stocker 選題:lujun9972 譯者:FSSlc 校對:wxy
訂閱“Linux 中國”官方小程式來檢視
相關文章
- Linux系統使用者賬號的管理Linux
- linux與使用者賬號有關的系統檔案Linux
- 在 Linux 中不使用 useradd 命令如何建立使用者賬號Linux
- linux使用者賬號和組賬號概述Linux
- 訊號課組(一) 訊號與系統 Part 0 MATLAB在訊號與系統中的使用Matlab
- 在 Linux 中更改、刪除或禁用使用者密碼Linux密碼
- win10系統禁用guest賬戶的方法Win10
- 在Linux中,某個賬號登陸linux後,系統會在哪些日誌檔案中記錄相關資訊?Linux
- 使用者賬號個組賬號概述
- linux賬戶與使用者組Linux
- Linux系統檢查使用者賬戶到期時間Linux
- win10系統怎麼禁用管理員賬戶_win10管理員賬戶禁用方法Win10
- Linux系統管理賬號分為幾種?有何區別?Linux
- 短影片多賬號管理系統,多平臺多賬號同步
- 深度linux系統怎麼更換賬戶圖片? 深度linux系統使用者頭像的設定方法Linux
- 在Linux中,如何監控系統的效能?Linux
- 在 Linux 系統中開放埠Linux
- Linux系統中如何切換使用者?Linux
- 實戰:Linux 系統如何禁用 IPV6Linux
- 怎麼禁用win7電腦guest賬戶?Win7系統電腦禁用guest賬戶操作方法Win7
- Linux系統root賬號無法編輯sshd_config檔案的解決方案Linux
- 自媒體賬號管理系統,輕鬆管理200個賬號,省心又省事
- 【Linux入門教程】4 使用者管理、系統效能分析、系統日誌及日誌分析、訊號機制與訊號處理Linux
- 百家號多賬號運營系統,多平臺運營自媒體賬號
- Linux中如何安裝RabbitMQ?在linux系統中安裝Rabbitmq的方法LinuxMQ
- Linux 系統的單使用者模式、修復模式、跨控制檯登入在系統修復中的運用Linux模式
- 想打通 Web 與小程式的賬號系統?來試試知曉雲吧Web
- 訊號與系統
- linux系統指令碼中trap訊號都有哪些?Linux運維Linux指令碼運維
- 在Linux中,如何在Linux中進行系統映象管理?Linux
- eMarketer:90%的中國人在解禁後選擇在國內旅行
- Linux 清除 Git 賬號密碼LinuxGit密碼
- 在Linux中,如何建立檔案系統的備份?Linux
- 小乾貨~ NFS在Linux系統中的應用NFSLinux
- 在 CentOS 8 中刪除舊的 Linux 系統核心CentOSLinux
- linux中的訊號處理與SROPLinux
- 檢測域賬號是否禁用、密碼是否永不過期密碼
- Linux系統使用者組的管理Linux