LINUX怎么修改用户密码_Linux passwd命令强制用户修改密码【安全】

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

如果您需要在Linux系统中修改用户密码,或强制特定用户在下次登录时更改密码,可以使用passwd命令完成。以下是具体的操作步骤:

一、普通用户修改自身密码

普通用户只能修改自己的密码,需先验证当前密码,再设置新密码。该操作不需root权限,但必须已成功登录目标账户。

1、打开终端,确保已登录待修改密码的用户账户。

2、输入命令:passwd,按回车执行。

3、系统提示输入当前密码,正确输入后按回车。

4、系统提示输入新密码,输入两次(第二次为确认),两次一致则修改成功。

二、root用户修改任意用户密码

root用户拥有最高权限,可绕过当前密码验证,直接为任意本地用户重置密码。此操作需谨慎,避免误改关键系统账户。

1、以root身份登录或切换至root用户:sudo -isu -

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命令直接控制范围。