使用 passwd 命令在 Linux 中處理用戶密碼
相比于過去,現(xiàn)在的安全技術(shù)已經(jīng)取得了長足的進(jìn)步,但是,到目前為止,密碼仍然是用于保護(hù)數(shù)據(jù)安全最常用的工具之一。
passwd 命令可以讓我們在 Linux 中更改用戶密碼,但它不僅僅用于更改密碼,還可以鎖定(或者解鎖)用戶,也可以讓用戶在下次登錄時更改密碼。
通過 passwd 命令所作的修改,都會反映在文件 /etc/passwd 中。那么,Linux 中的密碼存儲在哪里呢?它是以加密形式存儲在 /etc/shadow 文件中的。
下面我們就介紹一些關(guān)于 passwd 命令的實際用法。
1,更改自己的密碼
要更改自己的賬戶密碼,即當(dāng)前登錄用戶的密碼,只需要輸入 passwd 命令,不需要任何選項:
輸入 passwd 回車后,系統(tǒng)會要求你輸入當(dāng)前密碼,然后再設(shè)置一個新的密碼,如下例子:?
如果你輸入當(dāng)前密碼(即舊密碼)作為新密碼,系統(tǒng)將拋出一條錯誤消息,指出密碼未更改,并再次提示你輸入新密碼。
2,創(chuàng)建 root 密碼
許多 Linux 發(fā)行版默認(rèn)情況下都沒有設(shè)置 root 密碼,訪問 root 用戶的唯一方法就是通過 sudo 或者 su 命令。之所以這樣做,是因為如果設(shè)置了比較簡單的 root 密碼(比如123456abc),系統(tǒng)會很容易受到攻擊。
你必須是 sudo 用戶才能創(chuàng)建 root 密碼:
輸出如下:?
正確合理的配置用戶權(quán)限很重要,因為我們肯定不希望所有用戶都能更改 root 密碼。
3,修改其他用戶的密碼
作為 root 用戶,或者有 sudo 權(quán)限的用戶,可以使用 passwd 命令更改其他用戶的密碼。
因為你是管理員,正在重置密碼,所以系統(tǒng)不會要求你輸入舊密碼:?
4,檢查密碼狀態(tài)
可以使用 -S 選項來檢查用戶密碼的狀態(tài):
下面是輸出:?
我們把上述輸出整理到一個表格中,以便后面的分析:
用戶名 | 狀態(tài) | 上次更改日期 | 最小期限 | 最大期限 | 警告期 | 非活動期 |
nobody | P | 07/26/2022 | 0 | 99999 | 7 | -1 |
首先看一下狀態(tài)(status),各選項說明如下:
- P:可用密碼(Usable passwod)
- NP:沒有密碼(No password)
- L:鎖定的密碼(Locked password)
然后,關(guān)于密碼的有效期限,使用了一些保留的特殊號碼,用于設(shè)置密碼規(guī)則的參數(shù):
- 9999:永不過期
- 0:可以隨時修改
- -1:未激活
其他的信息項,我們可以看到警告期為 7 天。但是由于禁用了非活動期,且設(shè)置了永不過期,所以不會出現(xiàn)警告。
5,檢查所有用戶的密碼狀態(tài)
作為管理員用戶,可以檢查系統(tǒng)上所有賬戶的用戶狀態(tài):
6,強(qiáng)制用戶在下次登錄時更改密碼
我們可以使用 -e 選項讓用戶密碼立刻過期,這樣就可以強(qiáng)制用戶在下次登錄的時候更改密碼:
強(qiáng)制密碼過期的情況如下:?
現(xiàn)在,我們再來檢查一下用戶密碼的狀態(tài):?
我們可以看到,密碼的設(shè)置日期已更改為“1970年1月1日”,這個歷史日期與 Unix 系統(tǒng)相關(guān),它是一個“紀(jì)元(epoch)”日期,這基本上意味著該日期是 Unix 系統(tǒng)出現(xiàn)的第 “0”天(按32位)。
這樣,就可以將用戶 nobody 的密碼強(qiáng)制過期,當(dāng)該用戶下次登錄時,就會被系統(tǒng)要求修改一個新密碼。
7,鎖定或解鎖用戶賬戶
passwd 命令的 -l 選項可以讓我們在 Linux 系統(tǒng)中鎖定用戶賬戶:
一旦我們鎖定了用戶賬戶,那該用戶就不能再登錄了。?
我們再來檢查一下用戶的狀態(tài),如下:?
可以看到,其狀態(tài)代碼為 L,表示已鎖定。
解鎖用戶也很容易,使用 -u 選項:?
再次查看用戶密碼狀態(tài),可以發(fā)現(xiàn)其狀態(tài)被修改為了 P,即可用密碼狀態(tài):?
8,刪除用戶密碼
可以使用 -d 選項來刪除某個賬戶的密碼,這樣,該賬戶就不需要密碼來訪問系統(tǒng)。不過這不安全,所以一般不會這樣做。
9,其他
我們可以使用 -n 選項來強(qiáng)制某個用戶在 n 天內(nèi)修改密碼。不過這樣手動操作是比較麻煩的,而且還浪費(fèi)時間,所以一般情況下我們都是配置系統(tǒng)的密碼策略,使其適用于所有的用戶賬戶。
關(guān)于 passwd 其他的使用方法,大家可以使用 -h 選項來獲取幫助信息。