目录

Linux-找回-Root-密码多发行版本

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)。 linux /vmlinuz-xxx root=/dev/sda1 rw init=/bin/bash
  • 目的 :以可读写(rw)模式启动,并直接进入单用户模式 (无需密码)。

步骤 3:挂载文件系统并修改密码
  1. 按下 Ctrl+XF10 启动到命令行界面。
  2. 重新挂载根分区为读写模式 (部分系统已通过参数自动挂载): mount -o remount,rw /
  3. 修改 Root 密码 : passwd root # 输入两次新密码
  4. 确保 SELinux 重新标记 (如系统使用 SELinux): touch /.autorelabel # CentOS/RHEL 需要此步骤
  5. 重启系统: exec /sbin/init # 或直接按 Ctrl+Alt+Delete

其他可能场景处理
场景 1:系统使用 systemd(如 Ubuntu 18.04+、CentOS 7+)
  1. 在 GRUB 编辑模式中,修改 linux 行末尾为: rw init=/bin/bash
  2. 若提示文件系统错误,需指定根分区: 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 为实际分区): sudo mount /dev/sda1 /mnt
  3. 修改密码: sudo chroot /mnt passwd root exit sudo reboot

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

示例流程图 重启 → GRUB菜单 → 修改启动参数 → 进入单用户模式 → 挂载rw → passwd → 重启生效 通过上述步骤,可快速恢复 Root 权限,建议操作后加固系统安全! 🔐