统信uos中修改用户密码过期时间需区分单用户调整与全局策略:单用户用chage命令(如sudo chage -m 90 -w 7 -i 30 用户名),全局默认通过编辑/etc/login.defs设置pass_max_days等参数,新建用户生效;强制已有用户下次登录改密可执行sudo chage -d 0 用户名。

统信UOS中修改用户密码过期时间,需区分是针对单个已有用户临时调整,还是为所有新建用户设定全局默认策略;前者直接操作shadow文件生效快,后者通过login.defs配置影响后续创建的账户。
为单个用户设置密码过期时间
打开终端(Ctrl+Alt+T)→ 执行 sudo chage -M 90 -W 7 -I 30 用户名(例如:sudo chage -M 90 -W 7 -I 30 demo)。
-M 90 表示该用户密码最多使用90天后必须更换;-W 7 表示到期前7天开始每日登录时提醒;-I 30 表示过期后宽限期30天,超时将自动锁定账户无法登录。
执行后无提示即成功,可用 sudo chage -l 用户名 验证结果。注意:此操作不校验原密码,但【用户名必须与 /etc/passwd 中完全一致,大小写敏感】。
配置所有新建用户的默认密码有效期
这一步修改的是系统级模板,只影响今后用 useradd 创建的新账户,对已有用户无效。
第一步:备份原始配置文件——执行 sudo cp /etc/login.defs /etc/login.defs.bak。
第二步:编辑 login.defs——运行 sudo vim /etc/login.defs。
第三步:定位到密码策略相关行(通常在第158~165行之间),找到并修改以下三行(若不存在则手动添加,每行独立且前后仅一个空格):
PASS_MAX_DAYS 90
PASS_MIN_DAYS 6
PASS_WARN_AGE 30
保存退出后,新创建的用户密码将默认90天过期、最小修改间隔6天、提前30天警告。已有用户不受影响。
强制已有用户立即更新密码
方法一:用 chage 设定下次登录强制改密
执行 sudo chage -d 0 用户名,该用户下次登录时会被强制跳转至密码修改界面。
方法二:清空 shadow 中最后密码修改日期字段
执行 sudo vipw -s → 找到目标用户所在行(如 demo:...:19234:0:99999:7:::),将第三个字段(上次修改距1970-01-01的天数)改为0 → 保存退出。
两种方式效果相同,但【vipw -s 直接编辑 shadow 文件,误操作会导致账户无法登录,务必先备份】。











