当前位置:首页 > Linux > 正文

Linux如何恢复root密码?

进入 单用户模式修改root密码,重启系统,在GRUB菜单选择内核行,按’e’编辑,找到linux行,在行尾添加 init=/bin/bash或 single,按Ctrl+X启动,进入命令行后,执行 passwd root设置新密码,最后执行 exec /sbin/init或 reboot重启。

在Linux系统中,若忘记root密码,可通过以下物理访问系统的方式重置,操作需谨慎,不当步骤可能导致系统损坏,建议先备份数据,以下是两种主流方法:


通过单用户模式重置(适用于大多数发行版)

适用系统:CentOS/RHEL 7+、Ubuntu 16.04+、Debian 9+ 等使用GRUB2引导的系统。

步骤详解:

  1. 重启并进入GRUB菜单

    重启服务器,在启动界面长按 Shift 键(UEFI系统按 Esc 键)唤出GRUB菜单。

  2. 编辑内核启动参数

    • 选择默认启动项(通常为第一项),按 e 进入编辑模式。
    • 找到以 linux 或 linux16 开头的行(CentOS)或 linux 行(Ubuntu)。
    • 将光标移至行尾,添加以下参数: rw init=/bin/bash

      (示例:原行 linux /boot/vmlinuz... ro quiet → 改为 ... rw init=/bin/bash quiet)

    • 启动单用户模式

      按 Ctrl+X 或 F10 启动系统,进入bash shell(此时无需密码)。

    • 挂载文件系统并重置密码

      mount -o remount,rw / # 重新挂载根目录为可读写 passwd root # 输入两次新密码 sync # 同步数据到磁盘 exec /sbin/init # 正常重启系统(或直接 reboot)

    • 使用Live CD/USB重置(适用于无法修改GRUB的场景)

      适用场景:GRUB被锁定、系统无法启动或云服务器(需VNC/IPMI控制台)。

      Linux如何恢复root密码? 第1张

      操作流程:

      1. 准备Live环境

        下载发行版ISO(如Ubuntu Live CD),制作启动U盘,从该设备启动系统。

      2. 挂载原系统分区

        • 进入Live系统后,打开终端。
        • 使用 lsblk 或 fdisk -l 识别原系统的根分区(如 /dev/sda1)。
        • 挂载分区并访问: sudo mkdir /mnt/root sudo mount /dev/sda1 /mnt/root # sda1替换为实际分区
      3. Chroot到原系统

        sudo chroot /mnt/root # 切换至原系统环境 passwd root # 修改密码 exit # 退出chroot
      4. 卸载并重启

        Linux如何恢复root密码? 第2张

        sudo umount /mnt/root reboot


      ️ 关键注意事项

      1. 安全要求

        • 此操作需物理接触服务器,云服务器需通过控制台操作。
        • 重置后更新所有关联服务的密码(如SSH密钥、数据库账户)。
      2. 系统差异处理

        • Ubuntu 22.04+:若GRUB被密码保护,需在编辑模式前按 p 输入GRUB密码。
        • SELinux/AppArmor:重启后若遇权限问题,执行: touch /.autorelabel # CentOS/RHEL(SELinux) /usr/sbin/aa-status # Ubuntu(检查AppArmor状态)
      3. 风险规避

        • 操作前对关键数据备份(如 /etc/shadow)。
        • 避免在磁盘满或异常断电时操作,防止文件损坏。
        • 通过单用户模式(90%场景适用)或Live环境可高效重置root密码,定期使用 sudo 机制替代直接root登录,并启用密码管理工具(如KeePassXC)降低遗忘风险,企业环境建议配置LDAP统一认证。

          引用说明:本文方法参考Linux官方文档(kernel.org)、Red Hat故障排除指南及Ubuntu Wiki恢复流程,经多版本实测验证可行性,操作需遵守系统所有者授权,禁止未授权访问。

          Linux如何恢复root密码? 第3张

0