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 权限,建议操作后加固系统安全! 🔐

相关推荐
C++ 老炮儿的技术栈3 分钟前
在 Scintilla 中为 Squirrel 语言设置语法解析器的方法
linux·运维·c++·git·ubuntu·github·visual studio
白鹭44 分钟前
基于LNMP架构的分布式个人博客搭建
linux·运维·服务器·网络·分布式·apache
java叶新东老师1 小时前
linux 部署 flink 1.15.1 并提交作业
linux·运维·flink
程序员JerrySUN2 小时前
Linux系统架构核心全景详解
linux·运维·系统架构
无敌的牛2 小时前
Linux文件理解,基础IO理解
linux·运维·服务器
angushine2 小时前
鲲鹏服务器logstash采集nginx日志
运维·服务器·nginx
未来之窗软件服务2 小时前
跨平台 WebSocket 服务器的设计与实现 —— 基于.NET 8 的跨操作系统解决方案linux,macos,windows——开发工具
linux·服务器·websocket·仙盟创梦ide·东方仙盟
睿思达DBA_WGX2 小时前
由于主库切换归档路径导致的 Oracle DG 无法同步问题的解决过程
运维·数据库·oracle
杰哥的狗3 小时前
nacos连接失败,启动失败常见问题
linux·docker
Jackilina_Stone3 小时前
【faiss】用于高效相似性搜索和聚类的C++库 | 源码详解与编译安装
android·linux·c++·编译·faiss