Linux 找回 Root 密码(多发行版本)

适用于大多数 Linux 发行版(Ubuntu、CentOS、Debian 等),无需第三方工具,需物理接触服务器或系统启动权限


步骤 1:重启系统并进入 GRUB 引导菜单
  1. 重启系统,看到启动画面时,快速按下 EscShiftE(不同系统按键不同,可多试几次)。
  2. 进入 GRUB 菜单 后,选择要修改的系统内核选项(通常第一个),按 e 进入编辑模式。

步骤 2:修改内核启动参数
  1. 找到以 linuxlinux16linuxefi 开头的行(可能显示为 ro quiet splash),ro 改为 rw init=/bin/bash (部分系统需改为 rw single)。

    复制代码

    <BASH>

    复制代码
    linux /vmlinuz-xxx root=/dev/sda1 **rw init=/bin/bash**
    • 目的 :以可读写(rw)模式启动,并直接进入单用户模式(无需密码)。

步骤 3:挂载文件系统并修改密码
  1. 按下 Ctrl+XF10 启动到命令行界面。

  2. 重新挂载根分区为读写模式 (部分系统已通过参数自动挂载):

    复制代码

    <BASH>

    复制代码
    mount -o remount,rw /
  3. 修改 Root 密码

    复制代码

    <BASH>

    复制代码
    passwd root    # 输入两次新密码
  4. 确保 SELinux 重新标记 (如系统使用 SELinux):

    复制代码

    <BASH>

    复制代码
    touch /.autorelabel  # CentOS/RHEL 需要此步骤
  5. 重启系统:

    复制代码

    <BASH>

    复制代码
    exec /sbin/init      # 或直接按 Ctrl+Alt+Delete

其他可能场景处理
场景 1:系统使用 systemd(如 Ubuntu 18.04+、CentOS 7+)
  1. 在 GRUB 编辑模式中,修改 linux 行末尾为:

    复制代码

    <BASH>

    复制代码
    rw init=/bin/bash
  2. 若提示文件系统错误,需指定根分区:

    复制代码

    <BASH>

    复制代码
    mount -o remount,rw /sysroot
    chroot /sysroot
    passwd root
    touch /.autorelabel  # 仅 SELinux 系统需要
    exit
    reboot
场景 2:使用 Live CD/USB 修改密码
  1. 用 Linux Live USB 启动系统。

  2. 挂载原系统的根分区(需替换 /dev/sda1 为实际分区):

    复制代码

    <BASH>

    复制代码
    sudo mount /dev/sda1 /mnt
  3. 修改密码:

    复制代码

    <BASH>

    复制代码
    sudo chroot /mnt
    passwd root
    exit
    sudo reboot

注意事项
  1. 安全限制
    • 要求物理访问机器,虚拟机需控制台权限。
    • 若启用了全盘加密(如 LUKS),需先解密磁盘。
    • Secure Boot 可能阻止此操作,需在 BIOS/UEFI 中临时关闭。
  2. 生产环境
    • 修改密码后检查系统日志(/var/log/secure/var/log/auth.log)。
    • 启用 SSH 密钥认证或 sudo 权限,减少依赖 Root 密码。

示例流程图

复制代码

<PLAINTEXT>

复制代码
重启 → GRUB菜单 → 修改启动参数 → 进入单用户模式 → 挂载rw → passwd → 重启生效

通过上述步骤,可快速恢复 Root 权限,建议操作后加固系统安全! 🔐

相关推荐
大耳朵-小飞象8 小时前
电力安全运维的智能密码:BACS如何破解设备全生命周期管理难题,让电网安全“看得见、管得住”?
运维·安全·智慧城市·能耗系统·楼宇智控·未来生活
极客侃科技9 小时前
制造企业 MES/APS 选型:SAP PP/DS 集成、ERP-MES 边界划分与一体化架构要点
运维·架构·制造
HLC++9 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室11 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
leoZ23111 小时前
记忆系统与 Agent 定制完全指南(四):自定义 Agent 开发(一)
前端·chrome
leoZ23111 小时前
记忆系统与 Agent 定制完全指南(三):记忆的检索与使用
前端·chrome
生活爱好者!12 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
groundhappy13 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
尽兴-13 小时前
企业业务系统架构选型与渐进式演进
运维·系统架构·devops
通信小小昕14 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu