在 Linux 上查看和配置密碼時效
可以將 Linux 系統上的用戶密碼配置為永久或設置過期時間,以讓人們必須定期重置它們。出於安全原因,通常認為定期更改密碼是一種好習慣,但默認並未配置。
要查看和修改密碼時效,你需要熟悉幾個重要的命令:chage
命令及其 -l
選項,以及 passwd
命令及其 -S
選項。本文會介紹這些命令,還有其他一些 chage
命令選項來配置密碼時效。
查看密碼時效設置
確定某個特定帳戶是否已設置密碼時效的方法是使用如下 chage
命令。請注意,除了你自己的帳戶以外,其他任何帳戶都需要 root 許可權。請注意下面的密碼到期日期。
$ sudo chage -l dory
Last password change : Mar 15, 2020
Password expires : Jun 13, 2020 <==
Password inactive : never
Account expires : never
Minimum number of days between password change : 10
Maximum number of days between password change : 90
Number of days of warning before password expires : 14
如果未應用密碼時效,那麼帳戶信息將如下所示:
$ sudo chage -l nemo
Last password change : Jan 14, 2019
Password expires : never <==
Password inactive : never
Account expires : Mar 26, 2706989
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
你也可以使用 passwd -S
命令查看某些信息,但是你需要知道輸出中的每個欄位代表什麼:
dory$ passwd -S
dory P 03/15/2020 10 90 14 -1
這裡的七個欄位代表:
- 1 – 用戶名
- 2 - 帳戶狀態(
L
= 鎖定,NP
= 無密碼,P
= 可用密碼) - 3 – 上次密碼更改的日期
- 4 – 可更改最低時效(如果沒有這麼多天,則不能更改密碼)
- 5 – 最長時效(這些天后,密碼必須更改)
- 6 – 密碼過期前提前警告的天數
- 7 – 密碼過期後鎖定之前的天數(設為無效)
需要注意的一件事是,chage
命令不會顯示帳戶是否被鎖定;它僅顯示密碼時效設置。另一方面,passwd -S
命令將告訴你密碼被鎖定的時間。在此例中,請注意帳戶狀態為 L
:
$ sudo passwd -S dorothy
dorothy L 07/09/2019 0 99999 7 10
通過將 /etc/shadow
文件中通常包含密碼的「哈希」欄位變為 !
,從而達成鎖定的效果。
$ sudo grep dorothy /etc/shadow
dorothy:!:18086:0:99999:7:10:: <==
帳戶被鎖定的事實在 chage
輸出中並不明顯:
$ sudo chage -l dorothy
Last password change : Jul 09, 2019
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
密碼時效的一些選項
最常用的設置是最短和最長的天數。它們經常結合使用。例如,你可以配置一個密碼,使其最長不能使用超過 90 天(最大),然後添加一個有效期為一周或 10 天(最小)的密碼。這樣可以確保用戶不會在需要更改密碼後馬上改回以前的密碼。
$ sudo chage -M 90 -m 10 shark
$ sudo chage -l shark
Last password change : Mar 16, 2020
Password expires : Jun 14, 2020
Password inactive : never
Account expires : never
Minimum number of days between password change : 10 <==
Maximum number of days between password change : 90 <==
Number of days of warning before password expires : 7
你還可以使用 -E
選項為帳戶設置特定的到期日期。
$ sudo chage -E 2020-11-11 tadpole
$ sudo chage -l tadpole
Last password change : Oct 15, 2019
Password expires : never
Password inactive : never
Account expires : Nov 11, 2020 <==
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
密碼時效可能是一個重要的選擇,只要它不鼓勵用戶使用過於簡單的密碼或以不安全的方式寫下來即可。有關控制密碼字元(例如,大小寫字母、數字等的組合)的更多信息,請參考這篇關於密碼複雜度的文章。
via: https://www.networkworld.com/article/3532815/viewing-and-configuring-password-aging-on-linux.html
作者:Sandra Henry-Stocker 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive