介紹如何在 Linux 系統中透過 /etc/login.defs
設定檔與 chage
指令,設定使用者密碼的使用期限。
/etc/login.defs
密碼設定檔Linux 系統的下有一個 /etc/login.defs
密碼設定檔,在這個檔案中定義了 shadow 密碼的各種設定值,其中有三個設定跟密碼的使用期限有關:
# 密碼使用期限設定 # PASS_MAX_DAYS:密碼最長使用天數 # PASS_MIN_DAYS:密碼最短使用天數 # PASS_WARN_AGE:設定密碼過期前幾天,系統要發出警告 PASS_MAX_DAYS 99999 PASS_MIN_DAYS 0 PASS_WARN_AGE 7
這三個參數的意義如下:
PASS_MAX_DAYS
-1
,代表沒有使用期限(密碼永久有效)。PASS_MIN_DAYS
-1
,代表沒有最短使用天數的限制。PASS_WARN_AGE
0
則代表到期當天才發出警告,若設定為負值則代表完全不發出警告。預設值為不發出警告。以上 PASS_MAX_DAYS
、PASS_MIN_DAYS
、PASS_WARN_AGE
三個選項的設定只會在新增帳號時被使用,更改這些設定值並不會影像系統上既有的帳號。
chage
指令chage
指令可以用來設定使用者的密碼使用期限,-m
或 --mindays
可以用來設定密碼最短使用天數:
# 設定 myuser 密碼最短使用天數為 7 天 chage -m 7 myuser
-M
或 --maxdays
可以用來設定密碼最長使用天數:
# 設定 myuser 密碼最長使用天數為 90 天 chage -M 90 myuser
-W
或 --warndays
則是可以設定密碼過期前幾天,系統要發出警告:
# 設定 myuser 密碼過期 7 天前系統發出警告 chage -W 7 myuser