上一篇                     
               
			  如何在Linux中更改root密码?
- Linux
- 2025-06-18
- 4900
 以root权限执行
 
 
passwd命令: ,1. 终端输入 
 sudo passwd root(Ubuntu等)或直接 
 passwd(已切换root) ,2. 根据提示输入两次新密码 ,3. 显示”successfully”即完成更新
方法1:已知当前root密码(推荐命令)
适用场景:已登录root账户或通过su切换至root 
# 1. 登录root账户后执行 passwd # 2. 按提示输入两次新密码 New password: Retype new password: passwd: password updated successfully
关键提示:
- 密码需至少8位,混合大小写字母、数字和符号
- 输入时不显示字符(盲打),属正常设计
方法2:无root密码时通过单用户模式修改
适用场景:忘记密码且拥有物理/虚拟控制台访问权限
步骤: 

- 重启系统,在GRUB启动菜单按e进入编辑模式
- 定位内核行(以linux或linux16开头),在行尾追加:init=/bin/bash (图:内核参数编辑位置示意) 
- 按Ctrl+X启动到bash环境
- 挂载根分区并重置密码: mount -o remount,rw / # 重新挂载根目录为可写 passwd root # 设置新密码 sync # 强制写入磁盘 exec /sbin/init # 正常重启系统 
风险提示:
- 需物理接触服务器,云主机需使用VNC控制台
- 全盘加密(LUKS)系统需先解密
方法3:通过sudo权限修改(非root用户)
适用场景:普通用户拥有sudo权限

sudo passwd root # 验证自身密码后设置root新密码
安全强化建议
- 密码策略 sudo vi /etc/security/pwquality.conf # 调整密码复杂度要求 - 建议设置:minlen=10minclass=3(数字/大写/符号)
 
- 建议设置:
- 定期更换:使用chage -l root检查密码有效期
- 禁用root登录(可选): sudo passwd -l root # 锁定密码(仍可通过sudo提权) sudo vi /etc/ssh/sshd_config # 设置PermitRootLogin no 
故障排查
- Authentication token manipulation error:- 检查/etc/shadow权限是否为640
- 使用pwck验证账户配置完整性
 
- 检查
- 单用户模式失败:确认GRUB是否被加密(需编辑/boot/grub/grub.cfg)
操作警示:生产环境操作前务必备份数据,错误修改可能导致系统无法启动,关键操作建议在测试环境验证。
引用说明:
- Linux密码管理规范参考《Linux Standard Base Core Specification 5.0》
- GRUB引导流程遵循GNU GRUB Manual 2.06技术标准
- 安全建议符合NIST SP 800-63B最新密码策略指南
(本文所述方法已在Ubuntu 22.04/CentOS 7/RHEL 9验证,适用于主流Linux发行版)

 
  
			