可使用passwd命令修改用户密码或强制改密:普通用户用passwd改自身密码;root用passwd username重置他人密码;用passwd -e username强制下次登录改密;可用循环批量执行。

如果您需要在Linux系统中修改用户密码,或强制特定用户在下次登录时更改密码,可以使用passwd命令完成。以下是具体的操作步骤:
一、普通用户修改自身密码
普通用户只能修改自己的密码,需先验证当前密码,再设置新密码。该操作不需root权限,但必须已成功登录目标账户。
1、打开终端,确保已登录待修改密码的用户账户。
2、输入命令:passwd,按回车执行。
3、系统提示输入当前密码,正确输入后按回车。
4、系统提示输入新密码,输入两次(第二次为确认),两次一致则修改成功。
二、root用户修改任意用户密码
root用户拥有最高权限,可绕过当前密码验证,直接为任意本地用户重置密码。此操作需谨慎,避免误改关键系统账户。
1、以root身份登录或切换至root用户:sudo -i 或 su -。
2、执行命令:passwd username,其中username替换为实际用户名。
3、系统将提示输入新密码两次,无需提供原密码。
4、密码更新成功后,系统显示password updated successfully。
三、强制用户首次登录时修改密码
通过设置密码过期时间为0,可使用户在下次登录时被强制要求更改密码。该机制依赖于shadow文件中的密码过期字段,适用于安全策略强制轮换场景。
1、以root身份执行:passwd -e username,其中username为指定用户名。
2、该命令等效于将/etc/shadow中对应用户的密码过期日期设为0。
3、用户下次登录时,系统将中断常规会话流程,提示You are required to change your password immediately。
4、用户必须完成新密码设置后,才能进入主shell环境。
四、批量强制多个用户修改密码
当需对一组用户统一启用首次登录改密策略时,可通过shell循环调用passwd -e实现,避免逐条手动执行。
1、准备用户名列表,例如保存在/tmp/users.txt中,每行一个用户名。
2、执行命令:while read u; do passwd -e "$u"; done 。
3、每处理一个用户,系统输出类似passwd: password expiry information changed的确认信息。
4、若某用户名不存在,对应行将报错user 'xxx' does not exist,其余用户不受影响。
五、验证密码策略是否生效
修改完成后,可通过chage命令检查用户密码状态,确认过期设置、最小/最大使用期限等参数是否符合预期。
1、执行命令:chage -l username,查看指定用户的密码老化信息。
2、重点关注字段:Password expires(应显示“never”或具体日期)、Password must be changed(应显示“Jan 01, 1970”或“immediately”)。
3、若需进一步限制密码复杂度,需配置PAM模块如pam_pwquality.so,不属于passwd命令直接控制范围。










