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