在Linux服务器的日常运维管理中,修改用户密码是最基础也最常用的操作之一,不同的使用场景对应不同的操作方式,掌握这些方法是保障服务器访问安全的重要前提。

本地终端修改当前用户密码
如果已经通过本地终端或者远程连接登录到了服务器,且当前登录的用户需要修改自己的密码,可以直接使用passwd命令完成操作,这是最基础的密码修改方式。
执行命令后系统会先提示输入当前用户的旧密码,验证通过后再输入两次新密码即可完成修改,具体交互过程如下:
# 执行passwd命令 passwd # 系统提示输入当前密码 Changing password for user testuser. Current password: # 输入旧密码后提示输入新密码 New password: # 再次输入新密码确认 Retype new password: # 修改成功提示 passwd: all authentication tokens updated successfully.
root用户修改其他用户密码
当拥有root权限时,可以修改任意普通用户的密码,不需要知道目标用户的旧密码,适合用户忘记密码需要重置的场景。操作同样使用passwd命令,只需要跟上目标用户名即可。
因为root用户权限足够高,所以执行命令后不会要求输入旧密码,直接输入两次新密码就可以完成修改:
# root用户修改testuser的密码 passwd testuser # 提示输入新密码 New password: # 再次输入新密码确认 Retype new password: # 修改成功提示 passwd: all authentication tokens updated successfully.
远程ssh连接修改密码
如果是通过ssh远程连接到Linux服务器,修改密码的操作和本地终端完全一致,只需要在ssh会话中执行对应的passwd命令即可。如果ssh登录的用户是普通用户,只能修改自己的密码;如果是root用户登录,可以修改任意用户的密码。
需要注意的是,部分服务器可能配置了密码复杂度策略,如果设置的新密码过于简单,系统会提示密码不符合要求,需要重新设置符合规范的密码。
批量修改用户密码
当需要同时修改多个用户的密码时,逐个执行passwd命令效率很低,可以通过chpasswd命令批量完成操作。该命令可以从标准输入读取用户名和密码的对应关系,批量更新用户密码。
首先准备一个包含用户名和密码对应关系的文本文件,格式为每行一个用户名:密码,然后使用chpasswd命令读取该文件完成批量修改:
# 准备用户密码文件user_pwd.txt,内容示例: # testuser1:NewPass123 # testuser2:NewPass456 # testuser3:NewPass789 # 执行批量修改命令 chpasswd < user_pwd.txt # 如果没有报错说明批量修改完成
密码设置规范与注意事项
为了保证服务器安全,修改密码时需要遵循一定的规范,同时也要注意操作中的常见问题:
- 密码长度建议不少于8位,最好包含大小写字母、数字和特殊字符的组合,避免使用生日、连续数字等容易被猜到的内容。
- 修改密码后如果无法通过新密码登录,需要检查是否输入错误,或者是否触发了服务器的密码策略限制,部分服务器会要求密码不能和前几次的密码重复。
- 如果是root用户修改普通用户密码,修改完成后建议通知对应用户及时登录验证,避免出现密码错误无法登录的情况。
- 不要将密码明文保存在服务器的公共目录中,批量修改密码使用的临时文件在操作完成后需要及时删除,避免密码泄露。
忘记root密码的应急处理
如果忘记了root用户的密码,无法登录服务器,可以通过单用户模式重置root密码。不同Linux发行版的进入单用户模式的方式略有差异,以CentOS系统为例,操作步骤如下:
- 重启服务器,在启动引导界面按e键进入编辑模式。
- 找到以linux16开头的行,在行尾添加
init=/bin/bash,然后按Ctrl+x启动。 - 进入单用户模式后,先挂载根目录为可写模式:
mount -o remount,rw /。 - 执行
passwd root命令修改root密码,输入两次新密码即可。 - 修改完成后执行
exec /sbin/init重启服务器,使用新密码登录即可。
# 单用户模式下修改root密码的完整流程命令 # 1. 挂载根目录为可写 mount -o remount,rw / # 2. 修改root密码 passwd root # 输入新密码 # 再次输入新密码确认 # 3. 重启系统 exec /sbin/init
Linuxpasswdsshuser_modify修改时间:2026-07-24 08:03:11