Linux各发行版Root密码忘记重置处理

标题目录

  • 一、介绍与准备
    • RedHat发行
    • Debian发行
  • 二、重置密码步骤
    • RedHat发行操作
    • Debian发行操作
  • 三、相关操作总结

一、介绍与准备

前言:任何系统、无论物理机还是虚拟机,重置密码操作都必须要本地进行,无法通过远程处理!

RedHat发行

1.基于RedHat发行版的内容根据How to recover a root password in Red Hat-based Linux systems官网内容实操并编写;
2.基于RedHat 6及之前的系统本文不适用,详情请自行访问CentOS官网:参考重置忘记的 root 用户密码官方提示与技巧。

Debian发行

1.基于Debian发行版的内容根据4.7.4. root 密码安全官网内容整理、实操并编写;
2.其中基于Debian发行版的Ubuntu系统用户可以参照官方忘记密码操作来处理。

二、重置密码步骤

RedHat发行操作

  1. 重启系统,在引导程序界面,输入e进入Grub引导程序脚本编辑界面;
  2. 找到内核版本行:
    • 基于EL7内核的系统是以linux16开头的一行;
    • 基于EL8内核的系统是以linux开头的一行。
  3. 在该行末尾添加一句rd.break语句;
  4. 接着按Ctrl+X运行已修改的引导程序脚本;
  5. 系统将引导至“救援模式”以switch_root:/#开头的命令行终端;
  6. 以读写模式挂载系统根分区:mount -o remount,rw /sysroot
  7. 进入chroot环境并切至sysroot目录以便执行相关命令:chroot /sysroot
  8. 执行更改Root密码操作(此时可以修改任意用户密码):passwd root
  9. 为确保SELinux允许修改系统文件,需要在下次重新启动时,向SELinux发信号表明已修改了密码、并允许加载所做修改:touch /.autorelabel
  10. 输入exit退出chroot环境,然后输入reboot重启系统即可。

Debian发行操作

  1. 同样重启系统,点击Esc或Shift键来停止引导;
  2. 通过↑或↓按键选择带有Advanced options文字的引导菜单并按Enter回车键进入;
  3. 选择到带有recovery mode文字的“救援模式”菜单并按e键进入编辑模式
    • 注意:部分基于Debian发行版的系统,可直接在当前引导菜单下按e键进入引导程序脚本编辑模式,无需选择到特定引导菜单。
  4. 找到内核版本行,通常为以linux开头的一行;
  5. roro splash quietro recovery nomodeset修改为rw init=/bin/bash
  6. 接着按Ctrl+X或F10运行已修改的引导程序脚本;
  7. 执行更改Root密码操作(此时可以修改任意用户密码):passwd root
  8. 使系统重启后自动加载所做修改:touch /.autolabel
    • 少数Debian发行版可能无需此步骤,例如Ubuntu系统,不过建议执行一下,以防意外。
  9. 密码修改完成后输入reboot重启系统即可。

三、相关操作总结

编号 RedHat发行 Debian发行 相关说明
1 —— Esc或Shift 停止系统引导
2 e e 进入引导程序脚本编辑模式
3 rd.break rw init=/bin/bash 修改引导程序运行规则
4 Ctrl+X Ctrl+X或F10 运行修改后的引导程序脚本
5 mount -o remount,rw /sysroot —— 以读写模式挂载系统根分区
6 chroot /sysroot —— 进入chroot环境并切至sysroot目录
7 passwd root passwd root 修改root密码
8 touch /.autorelabel touch /.autolabel 使系统允许并在重启后自动加载修改
9 exit —— 退出chroot环境
10 reboot reboot 重启系统

你可能感兴趣的:(Linux,命令,chroot,linux,redhat,debian)