用户密码文件shadow的解释说明

在Linux系统中,/etc/shadow 文件是存储用户密码哈希及相关安全信息的关键文件,比传统的 /etc/passwd 更安全。以下是详细解释:


1. 文件结构

每行对应一个用户账户,格式为(用 : 分隔的9个字段):

username:password_hash:last_changed:min_age:max_age:warn:inactive:expire:reserved

示例:

alice:$6$salt$hashed_password:18627:0:99999:7:::

2. 字段详解

字段 说明 示例值含义
username 用户名 alice
password_hash 密码哈希值 $6$salt$hashed_password
last_changed 上次修改密码的天数(从1970-1-1起) 18627(2021年1月1日)
min_age 密码最短使用天数(0=可随时修改) 0
max_age 密码最长有效期(99999=永不过期) 99999
warn 密码到期前警告天数 7(提前7天警告)
inactive 密码过期后宽限天数 空=立即失效
expire 账户绝对过期日期(1970-1-1起) 空=永不过期
reserved 保留字段 未使用

3. 密码哈希格式

常见格式(以 $ 分隔):

$id$salt$hashed_password

4. 安全特性


5. 相关命令

# 修改密码(会更新shadow文件)
sudo passwd username

# 查看用户密码状态
sudo chage -l username