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

本文详细介绍了在Linux系统中忘记root密码时,通过GRUB2引导界面修改密码的方法,包括rd.break参数和Shell引导界面,并强调了设置GRUB密码以增强系统安全的重要性。
摘要由CSDN通过智能技术生成

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

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

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

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

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

在这里插入图片描述

因此,我们来了解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                                    ##重启系统

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

  • 27
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值