【Linux】RHEL 7/CentOS 7系 如何重新设置root密码

admin / Linux / / 370 字 · 约 2 分钟 / 450 次阅读 /

方案一:通过 GRUB rd.break 进入急救模式(推荐)

适用于 RHEL 7 / CentOS 7 及统信、麒麟等衍生系统:

1. 拦截引导菜单

在机器开机启动进入 GRUB2 引导界面时,选中默认内核项,按下键盘 e 键进入编辑模式。

2. 追加紧急中断参数

linux16(或带有 vmlinuz 的内核命令行)末尾追加参数:

rd.break

按下 Ctrl + x 启动进入 emergency shell。

3. 挂载并重设 root 密码

此时系统根分区位于 /sysroot 且处于只读状态,按顺序执行以下命令:

# 重新挂载根分区为读写模式
mount -o remount,rw /sysroot

# 切换根目录
chroot /sysroot

# 重设 root 密码
echo "your_new_password" | passwd --stdin root

# 创建 SELinux 重新标记文件(极其关键,否则重启会被拒绝访问)
touch /.autorelabel

# 退出 chroot
exit

# 退出 emergency 模式重启系统
exit

方案二:通过 init=/sysroot/bin/sh 方式

  1. 重启并在 GRUB2 菜单按 e 键;
  2. 找到 linux16 行中的 ro 改为: text rw init=/sysroot/bin/sh
  3. Ctrl + x 启动后进入单用户终端;
  4. 切换根分区并更新密码: bash chroot /sysroot passwd root touch /.autorelabel exit reboot -f
admin

admin

云原生架构 · 全栈开发

感谢阅读本文!记录系统架构思考与实战复盘。专注于 Python、Django、PostgreSQL 与云原生容器化工程实践。