如何在 Linux 中更改、刪除或禁用用戶密碼
通過終端管理密碼相對簡單。在 Linux 中,你可以使用 passwd 實用程序管理用戶密碼,該實用程序旨在管理密碼。
在本指南中,我們還將學習該passwd命令的一些高級參數,這將幫助你更有效地使用它并讓你的生活更輕松。
請記住,你只能以普通用戶的身份管理你的密碼。但是,root 用戶和具有 sudo 權限的用戶可以管理其他用戶的密碼并定義如何使用密碼。
如何更改你的用戶密碼
在 Linux 中,任何用戶都可以隨時更改其密碼。要更改你自己用戶的帳戶密碼,請運行 passwd 不帶任何參數的命令:
[linuxmi@fedora www.linuxmi.com]$ passwd
更改用戶 linuxmi 的密碼 。
當前的密碼:
新的密碼:
重新輸入新的密碼:
passwd:所有的身份驗證令牌已經成功更新。
系統將要求你提供當前密碼。然后,如果你的密碼正確,該命令將提示你輸入并確認你的新密碼。
如何更改其他用戶的密碼
如果你是一個擁有許多用戶的系統管理員,那么用戶有時會忘記他們的密碼,你或具有 sudo 權限的人將需要重置他們的密碼。
再一次,正如我們在介紹中所說,只有 root 用戶和具有 sudo 訪問權限的用戶才能更改另一個用戶帳戶的密碼。
因此,下面的示例假設你以具有 sudo 權限的用戶身份登錄。
運行passwd命令,后跟用戶名,以更改另一個用戶帳戶的密碼。
例如,要更改名為 的用戶的密碼linux,請使用以下命令:
[linuxmi@fedora www.linuxmi.com]$ sudo passwd linux
更改用戶 linux 的密碼 。
新的密碼:
重新輸入新的密碼:
passwd:所有的身份驗證令牌已經成功更新。
系統只會要求你輸入并確認新用戶的密碼。
該passwd命令不會要求你輸入舊密碼,因為你以具有 sudo 權限的用戶身份執行。因此,你可以更改任何用戶的密碼,而無需知道舊密碼。
如何在 Linux 中強制用戶更改密碼
默認情況下,在 Linux 中,密碼設置為永不過期。因此,除了設置或更改用戶密碼外,該passwd命令還可用于強制用戶在下次登錄時更改密碼。
為此,必須首先將密碼標記為過期。這可以通過在命令中使用-e( --expire) 選項來實現passwd,后跟我們要將密碼標記為過期的用戶名。
例如,要將名為 的用戶的密碼更改為已過期linux,請使用以下命令:
[linuxmi@fedora www.linuxmi.com]$ sudo passwd -e linux
[sudo] linuxmi 的密碼:
正在終止用戶 linux 的密碼。
passwd: 操作成功
接下來,在chage命令的幫助下,我們可以驗證用戶 linux 的密碼是否過期。最后,該chage 命令用于查看和更改用戶密碼到期信息。
[linuxmi@fedora www.linuxmi.com]$ sudo chage -l linux
最近一次密碼修改時間 :密碼必須更改
密碼過期時間 :密碼必須更改
密碼失效時間 :密碼必須更改
帳戶過期時間 :從不
兩次改變密碼之間相距的最小天數 :0
兩次改變密碼之間相距的最大天數 :99999
在密碼過期之前警告的天數 :7
從上面的輸出可以看出,用戶的密碼需要修改。因此,當用戶linux再次嘗試登錄時,會提示他更改密碼才能訪問 shell。
如何在 Linux 中刪除用戶密碼
如果要使用戶帳戶無密碼,可以在命令中使用-d( --delete) 選項。passwd這是禁用帳戶密碼的快速方法。
例如,鍵入以下命令以刪除名為 的用戶的用戶密碼linux:
[linuxmi@fedora www.linuxmi.com]$ sudo passwd -d linux
清除用戶的密碼 linux。
passwd: 操作成功
上面的命令刪除用戶的密碼(使其為空)。雖然這是可能的,并且你可以擁有一個沒有密碼的帳戶,但不建議這樣做,因為任何人都只能輸入帳戶用戶名才能訪問系統。
如你所見,系統不再需要密碼來對用戶進行身份驗證linux。
如何在 Linux 中禁用用戶密碼
你可以通過鎖定帳戶密碼來阻止用戶登錄。使用添加了( ) 選項的passwd命令,后跟用戶名。-l--lock
[linuxmi@fedora www.linuxmi.com]$ sudo passwd -l linux
鎖定用戶 linux 的密碼 。
passwd: 操作成功
該-l選項通過將密碼更改為與可能的加密值不匹配的值來禁用密碼。結果,用戶將無法登錄。
因此,當用戶linux下次嘗試登錄時,他們的密碼被拒絕,并且他們收到一個身份驗證錯誤。
當然,如果用戶通過基于公鑰/私鑰交換的無密碼 SSH 連接linux進行身份驗證,則禁用密碼不會阻止他對系統的訪問。
因此,另外,設置用戶 shell以nologin避免安全問題也是一個好主意:
[linuxmi@fedora www.linuxmi.com]$ sudo usermod -s /usr/sbin/nologin linux
你可以使用-u( --unlock) 開關解鎖用戶linux帳戶。
[linuxmi@fedora www.linuxmi.com]$ sudo passwd -u linux
解鎖用戶 linux 的密碼。
passwd: 警告:未鎖定的密碼將是空的。
passwd: 不安全的操作(使用 -f 參數強制進行該操作)
然后將其登錄 shell 重置回/bin/bash。
[linuxmi@fedora www.linuxmi.com]$ sudo usermod -s /bin/bash linux
檢查用戶密碼的狀態
在審計和內務管理方面,檢查用戶密碼的狀態對于系統管理員來說是一個有價值的工具。
因此,讓我們檢查 user 的用戶密碼的狀態linux。首先,打開終端并使用( ) 開關運行passwd命令。-S--status
[linuxmi@fedora www.linuxmi.com]$ sudo passwd -S linux
linux LK 2022-04-17 0 99999 7 -1 (密碼已被鎖定。)
如你所見,狀態信息由七個字段組成。因此,讓我們一一分解它們。
- 第一個字段是用戶的登錄名。
- 第二個字段指示用戶帳戶是否具有鎖定密碼 (L)、沒有密碼 (NP) 或具有可用密碼 (P)。
- 第三個字段給出了最后一次密碼更改的日期。
- 第四個字段是可以更改之前的最短密碼生命周期。
- 第五個字段是必須更改之前的最長密碼生命周期。
- 第六個字段是密碼有效期到期前用戶將開始收到警告的天數。
- 第七個字段是禁用用戶時密碼有效期到期后的天數。
結論
在本指南中,你了解了如何在 Linux 中更改、刪除或禁用用戶密碼。此外,現在你知道如何檢查用戶密碼的狀態了。本快速指南中給出的指導應該適用于任何 Linux 發行版。
有關 Linux 中該命令的更多詳細信息passwd,你可以前往該命令的手冊頁。