【RedHat9.0】引导装载程序GRUB——root密码丢失实例

root用户密码忘记了?!!!怎么办!!!

  • 在Linux系统中,root密码是系统管理员权限的凭证。 如果忘记了root密码,就无法以管理员身份登录系统,这可能会对系统安全和正常运行造成影响。

经过多方查阅,了解到可以通过GRUB2界面,进入编辑模式修改root密码!

但是! GRUB引导界面现时只有5s,5s后就会自动进入系统。

不行 5s太短了,没那么快能反应过来在5s内输入键进入编辑模式。

在这里插入图片描述

引导装载程序GRUB

  • (一)GRUB概述
  • (二)修改启动项的等候时常
  • (三)GRUB界面修改root用户密码
      • 方法一:rd.break参数
      • 方法二:Shell引导界面
  • (四)设置GRUB密码
      • 方法一:明文——为GRUB设置密码
      • 方法二:密文——对GRUB密码加密

因此,我们来了解GRUB,修改这个时限。

(一)GRUB概述

在系统启动中,引导装载程序开始,到装载内核之前都由GRUB负责。内核被保存在/boot/,通过将内核装载到内存。GRUB是GNU GRand Unified Bootloader的缩写,作为一个多重操作系统启动管理器,除引导Linux之外,也可在多操作系统共存时管理多重操作系统的引导。可对GRUB进行配置管理来实现对系统启动选项的控制,干预系统启动。

  • GRUB实际上是一个微型的操作系统,可以识别一些常用的文件系统,GRUB2运行时会读取自己的配置文件/boot/grub2/grub.cfg。
  • GRUB2的主要配置文件是/etc/grub2.cfg,这是一个指向/boot/grub2/grub.cfg文件的符号链接。另外还有一个通用设置文件/etc/default/grub,一个/etc/grub.d/目录存放多种配置模板。
引导
GRUB
内核

(二)修改启动项的等候时常

  • 进入系统,输入如下指令
# vim /etc/default/grub      #设置主要环境默认启动项的等候时常,5就是等候5s,将其改成-1则是要手动确认才能启动系统
GRUB_TIMEOUT=-1# grub2-mkconfig -o /boot/grub2/grub.cfg  #重新加载生成配置文件
# reboot  #重启系统即可生效

在这里插入图片描述

在这里插入图片描述

重启系统在GRUB引导界面,没有了时常限制,那我们就能更好的进入正题,修改root用户密码了!

在这里插入图片描述

(三)GRUB界面修改root用户密码

方法一:rd.break参数

此方法亦可以参考该博客特殊模式下重置root用户密码

(1)启动系统将进入GRUB2界面后,迅速按下< e >键进入GRUB编辑模式

在这里插入图片描述

在这里插入图片描述

(2)按向下箭头找到linux开头那一行,按<CTRL + e>跳至此行末尾,在末尾空一格,输入rd.break enforcing ,或者将enforcing设置0,enforcing=0。

  • rd.break: 这个参数告诉内核在引导过程中在root挂载之前,暂停启动过程。它会在引导过程中进入一个临时的emergency shell(紧急模式下的shell),让你有机会在系统正式启动之前进行一些修复或者修改操作。
  • enforcing: 这个参数通常用于SELinux安全模块,表示将 SELinux 设置为强制执行模式。
  • enforcing=0 是一个临时的启动参数,用于将 SELinux 设置为宽松模式

在这里插入图片描述

(3)按<CTRL+x>组合键重启系统,进入如下界面

在这里插入图片描述

(4)执行以下命令重新挂载文件系统

mount -o remount,rw /sysroot

(5)执行以下命令改变系统目录为临时挂载文件:

chroot /sysroot

在这里插入图片描述

(6)执行passwd命令修改root密码,输入新密码

passwd

在这里插入图片描述

(7)在根目录下创建相关文件(用于重新标记SELinux环境值)

touch ./autorelabel

(8)执行exit命令退出chroot环境,再执行exit重启系统

在这里插入图片描述

rd.break这种方法一般用于修改root密码或者出现重大问题,临时中断运行,未装载任何系统。

方法二:Shell引导界面

(1)下箭头,选择第二个,按< e >键,进入GRUB编辑模式

在这里插入图片描述

(2)跳到Linux那一行,Ctrl+e跳转到行尾,将行尾的“rhgb quiet”删去

在这里插入图片描述

(3)在行尾加上“init=/bin/bash” 参数,向内核传递,使用Shell代替默认的daemon进程来重置root密码。设置完成后Ctrl+x启动系统

在这里插入图片描述

(4)输入如下命令

# mount -o remount,rw /      ## 以写入的方式重新挂载根目录
# passwd root                ## 修改root密码
# touch /.autorelabel        ## 系统启动了SELinux,必须执行此命令,否则将无法正常启动系统
# exec /sbin/init            ## 启动系统

在这里插入图片描述
在这里插入图片描述
修改完成!!!

(5)测试是否修改,则可以进入系统切换root用户时验证

(四)设置GRUB密码

由如上操作,任何人都能进入GRUB编辑界面修改root用户密码,这具有相当大的安全隐患,为了确保系统安全,因此可以设置GRUB口令,只有拥有口令的用户才能修改GRUB参数。

  • 方法:修改GRUB配置文件,设定密码,以防止非法者进行GRUB编辑。

方法一:明文——为GRUB设置密码

# cd /etc/grub.d
# ls
00_header             10_reset_boot_success  20_ppc_terminfo   40_custom
01_users              12_menu_auto_hide      30_os-prober      41_custom
08_fallback_counting  14_menu_show_once      30_uefi-firmware  README
10_linux              20_linux_xen           35_fwupd
# vim 00_header

(1)编辑/etc/gurb.d/00_header文件,在末尾添加以下内容并保存。

cat << EOF
set superusers='admin'
password admin 123456
EOF

在这里插入图片描述

(2)执行grub2-mkconfig命令重新生成grub.cfg文件:

# grub2-mkconfig -o /boot/grub2/grub.cfg

在这里插入图片描述

(3)重新启动系统,GRUB开始界面输入< e >键进入GRUB编辑模式,输入用户和密码

在这里插入图片描述

在这里插入图片描述

方法二:密文——对GRUB密码加密

# cd /etc/grub.d
# vim 00_header修改加密工具:
cat << EOF
set superusers='ley'
password_pbkdf2 ley 
EOF这里修改了用户名为ley

在这里插入图片描述

# grub2-mkpasswd-pbkdf2        ##使用grub2-mkpasswd-pbkdf2工具生成加密密码
Enter password:
Reenter password:
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.ACD37EA927F5BC808C836636B9899D6439B7378C68AFF990F9E4D1F4DB8C91C5F49E35ADE66D098EF2C84B2BB7868FA46A26630F4ADC5E89F591DC95F0B66897.43DD8AFF2C8DD2268014B3195574651B908677CEEB3F5BB06A46423A5B3180E4D59D864807A0C9DC606568A9BA9CFAD1C4F7090A1E8ABA212C73C90355FB47B7##将passwd is后面一长段复制到password_pbkdf2 ley 后面,密码位置,修改完后wq!退出

在这里插入图片描述

# grub2-mkconfig -o /boot/grub2/grub.cfg    ##执行grub2-mkconfig命令重新生成grub.cfg文件
Generating grub configuration file ...
Adding boot menu entry for UEFI Firmware Settings ...
done
# reboot                                    ##重启系统

如果在操作过程中遇到了其他问题,可以参考相关文档或者寻求更详细的指导哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/788926.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++核心高级编程 --- 1、内存分区模型 2、引用

文章目录 第一章&#xff1a;1.内存分区模型1.1 程序运行前1.2 程序运行后1.3 new操作符 第二章&#xff1a;2.引用2.1 使用2.2 注意事项2.3 做函数参数2.4 做函数返回值2.5 本质2.6 常量引用 第一章&#xff1a; 1.内存分区模型 4个区域&#xff1a; 代码区&#xff1a;存放…

【mysql 第3-10条记录怎么查】

mysql 第3-10条记录怎么查 在MySQL中&#xff0c;如果你想要查询第3到第10条记录&#xff0c;你通常会使用LIMIT和OFFSET子句。但是&#xff0c;需要注意的是&#xff0c;LIMIT和OFFSET是基于结果集的行数来工作的&#xff0c;而不是基于记录的物理位置。这意味着它们通常与某种…

【C++庖丁解牛】高阶数据结构---红黑树详解(万字超详细全面介绍红黑树)

&#x1f341;你好&#xff0c;我是 RO-BERRY &#x1f4d7; 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 &#x1f384;感谢你的陪伴与支持 &#xff0c;故事既有了开头&#xff0c;就要画上一个完美的句号&#xff0c;让我们一起加油 目录 前言1.红黑树的概念2.红黑…

开发环境搭建及驱动移植 2

1 开发环境搭建 前言&#xff1a; STD库-标准外设库 寄存器操作&#xff0c;将一些基本的寄存器操作封装成函数 HAL库-硬件抽象库将这些抽象成了一个抽象层&#xff0c;从使用的角度来看&#xff0c;是与硬件无关的 HAL库优势HAL库是ST未来主推的库&#xff0c;从2015开始ST…

STM32重要参考资料

stm32f103c8t6 一、引脚定义图 二、时钟树 三、系统结构图 四、启动配置 &#xff08;有时候不小心短接VCC和GND&#xff0c;芯片会锁住&#xff0c;可以BOOT0拉高试试&#xff08;用跳线帽接&#xff09;&#xff09; 五、最小系统原理图 可用于PCB设计

BetterZip for Mac2024最新mac解压缩软件

作为一名软件专家&#xff0c;对于市面上各类软件都有较为深入的了解&#xff0c;下面介绍的是一款适用于Mac系统的解压缩软件——BetterZip&#xff0c;将从其功能特点、使用方法、用户体验及适用人群等方面进行详细介绍。 BetterZip5-安装包绿色版下载如下&#xff1a; htt…

某音乐平台歌曲信息逆向之参数寻找

如何逆向加密参数&#xff1a;某音乐平台歌曲信息逆向之webpack扣取-CSDN博客 参数构建 {"comm": {"cv": 4747474,"ct": 24,"format": "json","inCharset": "utf-8","outCharset": "ut…

c++11 标准模板(STL)本地化库 - 平面类别 - (std::ctype) 定义字符分类表(二)

本地化库 本地环境设施包含字符分类和字符串校对、数值、货币及日期/时间格式化和分析&#xff0c;以及消息取得的国际化支持。本地环境设置控制流 I/O 、正则表达式库和 C 标准库的其他组件的行为。 平面类别 定义字符分类表 std::ctype template< class CharT > clas…

Maven是什么? Maven的概念+作用

1.Maven的概念 Maven中文意思为“专家“、”内行“的意思&#xff0c;它是一个项目管理工具&#xff0c;可以对Java项目进行构建、依赖管理&#xff0c;通俗点 就是通过pom.xml文件的配置获取jar包不用手动的去添加jar包。 2.Maven的作用 对于大的工程&#xff0c;需要引用各…

morkdown语法转微信公众号排版(免费)

morkdown语法转微信公众号排版&#xff08;免费&#xff09; 源码来自githab&#xff0c;有些简单的问题我都修复了。大家可以直接去找原作者的源码&#xff0c;如果githab打不开就从我下载的网盘里下载吧。 效果

IP代理池赋能Python网络爬虫

文章目录 什么是IP代理池代理服务器IP代理池的作用IP代理池的构建IP代理池的管理 相关案例IP代理在爬虫中的运用IP代理在数据收集中的运用IP代理在反爬虫中的运用 结语 什么是IP代理池 IP代理池是一个存储了多个可用代理IP地址的资源池&#xff0c;用于在网络爬虫、数据采集、…

C#属性显示

功能&#xff1a; 显示对象的属性&#xff0c;包括可显示属性、可编辑属性、及不可编辑属性。 1、MainWindow.xaml <Window x:Class"FlowChart.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://sche…

C++(11): 智能指针shared_ptr

1. 概述 shared_ptr智能指针&#xff0c;本质是“离开作用域会自动调整(减小)引用计数&#xff0c;如果引用计数为0&#xff0c;则会调用析构函数”。这样一来&#xff0c;就进化成类似于int、float等的一种会被自动释放的类型。 2. 初始化智能指针 初始化一个智能指针的方式比…

深入理解ThreadLocal原理

目录 1- 什么是ThreadLocal &#xff1f;2- ThreadLocal的作用&#xff1f;ThreadLocal实现线程间资源隔离ThreadLocal实现线程内资源共享 3- ThreadLocal 原理3-1 ThreadLocalMap3-2 ThreadLocalMap的扩容&#x1f511;1. 为什么会发生扩容&#xff1f;&#x1f511;2. Thread…

将图像转换为ASCII艺术形式

将图像转换为ASCII艺术形式 在本文中&#xff0c;我们将介绍一个使用OpenCV库将图像转换为ASCII艺术形式的简单程序。ASCII艺术是一种使用字符来表现图像的艺术形式&#xff0c;通过在终端或文本文件中显示字符的不同密度和颜色来模拟图像。这种技术已经存在了几十年&#xff…

【MySQL】7.MHA高可用配置及故障切换

什么是MHA MHA&#xff08;MasterHigh Availability&#xff09;是一套优秀的MySQL高可用环境下故障切换和主从复制的软件 mha用于解决mysql的单点故障问题&#xff1b; 出现故障时&#xff0c;mha能在0~30秒内自动完成故障切换&#xff1b; 并且能在故障切换过程中&#xff0…

史上最强 PyTorch 2.2 GPU 版最新安装教程

一 深度学习主机 1.1 配置 先附上电脑配置图&#xff0c;如下&#xff1a; 利用公司的办公电脑对配置进行升级改造完成。除了显卡和电源&#xff0c;其他硬件都是公司电脑原装。 1.2 显卡 有钱直接上 RTX4090&#xff0c;也不能复用公司的电脑&#xff0c;其他配置跟不上。…

ARM FVP平台的terminal窗口大小如何设置

当启动ARM FVP平台时&#xff0c;terminal窗口太小怎么办&#xff1f;看起来非常累眼睛&#xff0c;本博客来解决这个问题。 首先看下ARM FVP平台对Host主机的需求&#xff1a; 通过上图可知&#xff0c;UART默认使用的是xterm。因此&#xff0c;我们需要修改xterm的默认字体设…

C++语言学习(一)——关键字、命名空间、输入输出

1. C关键字 C总计63个关键字&#xff0c;C语言32个关键字 2. 命名空间 在C/C中&#xff0c;变量、函数和后面要学到的类都是大量存在的&#xff0c;这些变量、函数和类的名称将都存在于全局作用域中&#xff0c;可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本…

yolov5关键点检测-实现溺水检测与警报提示(代码+原理)

基于YOLOv5的关键点检测应用于溺水检测与警报提示是一种结合深度学习与计算机视觉技术的安全监控解决方案。该项目通常会利用YOLOv5强大的实时目标检测能力&#xff0c;并通过扩展或修改网络结构以支持人体关键点检测&#xff0c;来识别游泳池或其他水域中人们的行为姿态。 项…