Linux重置root密码

简洁点

  1. press e on grub,
  2. add parameters rd.break
  3. Ctrl + x
  4. mount -o remount rw /sysroot
  5. chroot /sysroot
  6. passwd
  7. touch /.autorelabel
  8. exit
  9. reboot

  • 0: 确保你有访问机器的权限, 物理访问或者通过远程访问bootloader.
  • 1: 重启机器, 在选择启动内核选项迅速按下上下键来取消倒计时.
  • 2: 选择要启动的内核然后按下e, 此时你会进入grub bootloader的编辑页面
  • 3: 找到内核启动加载参数的行
    • 3.1 RHEL/CentOS 7, 行首以 linux16开始.
    • 3.2 RHEL/Centos 8x, and Fedora 行首以 linux开始.
  • 4: 在step3中的行尾添加参数rd.break.(此操作只是临时生效)
    image.png
  • 5: 按下 Ctrl+x执行添加参数后的bootloader
  • 6: 此时会进入救援模式(rescue), 命令提示符变成了switch_root:/#
    image.png
  • 7: 以读写模式重新挂在根分区, 不然会没法执行修改密码的命令
    mount -o remount rw /sysroot
  • 8: 修改根目录路径
    chroot /sysroot
  • 9: 执行修改root密码的命令 passwd, 然后重复输入密码以确认.
  • 10: 重新启动之前,您需要确保 SELinux 允许文件更改。输入:touch /.autorelabel这将在下次重新启动时向 SELinux 发出文件系统已更改(更改的密码)的信号,并允许加载更改。这将导致整个文件系统被“重新标记”,这可能需要一段时间,具体取决于文件系统的大小和机器的速度,因此请注意这种可能性。
  • 11: 输入: exit 离开 chroot环境, 然后输入: rebbot重启机器.