萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux chage 指令管理使用者帳號過期策略:新手教學與實戰範例

chage(change age)專門管理使用者帳號的**密碼與帳號過期策略**,是 Linux 系統安全強化的關鍵工具。

常用選項速查

選項長選項說明
-d--lastday設定最近一次密碼變更日期(YYYY-MM-DD)
-E--expiredate設定帳號過期日期(YYYY-MM-DD),過期後無法登入
-I--inactive密碼過期後多少天鎖定帳號(-1 為不鎖定)
-l--list顯示帳號年齡與過期資訊(唯讀查詢)
-m--mindays兩次密碼變更最小間隔天數(0 可隨時改)
-M--maxdays密碼最大有效天數(99999 近似永久)
-W--warndays密碼過期前多少天開始警告

實戰範例

# 查看 forker 當前策略
chage -l forker

# 設定最後密碼變更日為未來日期(延長密碼有效期)
chage -d 3000-08-08 forker

# 設定密碼最長有效期 5 天(高安全環境)
chage -M 5 forker

# 設定帳號過期日(臨時帳號、實習生專用)
chage -E 2025-12-31 forker

# 設定密碼過期後 7 天鎖定帳號
chage -I 7 forker

# 設定密碼過期前 14 天警告
chage -W 14 forker

# 設定密碼最小變更間隔 1 天(防止用戶連續改密碼繞過歷史記錄)
chage -m 1 forker

配置檔對應關係

chage 修改的資料最終寫入 /etc/shadow 對應欄位:

  • -d → 第 3 欄(最後修改日)
  • -E → 第 8 欄(帳號失效日)
  • -I → 第 7 欄(非活動天數)
  • -m → 第 4 欄(最小間隔)
  • -M → 第 5 欄(最大有效期)
  • -W → 第 6 欄(警告天數)

最佳實務建議

  • **服務帳號/系統帳號**:chage -E 0 -I -1 -M 99999 鎖定登入、無密碼過期
  • **一般用戶**:-M 90 -W 14 -I 7 90 天強制換密、14 天預警、過期 7 天鎖定
  • **高權限帳號 (root/sudoers)**:-M 30 -W 7 -I 3 更嚴格策略
  • **臨時專案帳號**:-E YYYY-MM-DD 設定專案結束日自動失效
  • 定期稽核:awk -F: '$3 > 90 {print $1}' /etc/shadow 找出超期未改密碼帳號

權限需求

執行 chage 需 root 權限;一般用戶可用 chage -l 查看自身資訊。

copyright © 萬盛學電腦網 all rights reserved