Red Hat 用GRUB重置root密码,以及设置并加密GRUB密码

前言

一旦忘记root密码,就无法执行任何面向整个系统的变更工作,此时可以使用GRUB来重置root密码。为了安全性考虑可以先设置GRUB密码,并给GRUB密码加密。

GRUB的作用

GRUB是一个来自GNU项目的多操作系统启动程序。它的作用主要体现在以下几个方面:

  1. 多操作系统启动:GRUB允许用户从多个操作系统中进行选择并启动。这意味着,如果计算机上安装了多个操作系统,如Windows、Linux或其他Unix-like系统,GRUB可以在启动时提供一个菜单,让用户选择要启动的操作系统。
  2. 引导加载程序:GRUB是计算机启动过程中的一个重要组成部分,它负责加载操作系统的内核和其他必要的启动文件。当计算机开机时,GRUB会首先加载并运行,然后加载选定的操作系统的引导加载程序或内核。
  3. 灵活的配置:GRUB的配置文件允许用户进行高度定制。用户可以通过编辑配置文件来更改启动菜单的外观、顺序和选项,甚至添加自定义的启动条目。
  4. 模块化设计:GRUB采用模块化设计,这意味着它可以动态地加载和卸载各种功能模块,以支持不同的文件系统、加密方案和其他功能。这种设计使得GRUB具有高度的可扩展性和灵活性。
  5. 恢复和修复:在某些情况下,如果操作系统的引导扇区或启动文件损坏,GRUB可以作为一个恢复工具来修复这些问题。通过GRUB的命令行界面或特定的恢复模式,用户可以尝试修复损坏的启动配置或重新安装操作系统的引导加载程序。

准备工作

修改GURB界面时间限制

由于GRUB界面默认有5s时间限制,可能一步留神就进入系统,因此我们可以先将时间限制移除

修改/etc/default/grub文件配置,将第一行的5更改为-1

vim /etc/default/grub

重新生成文件

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

重启Linux即可生效

设置GRUB密码

编辑/etc/grub.d/00_header文件

vim /etc/grub.d/00_header

在末尾添加以下内容

cat << EOF

set superusers='admin'   #'用户名',admin可以更改

password admin 123456  #密码

EOF

重新生成文件

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

为GRUB密码加密

运用grub2-mkpasswd-pbkdf2命令生成加密的密码

grub2-mkpasswd-pbkdf2

生成成功后将grub.pbkdf2.sha512之后的内容复制到/etc/grub.d/00_header文件

vim /etc/grub.d/00_header

cat << EOF
set superusers='admin'

password_pbkdf2 admin <密文>

EOF

再次重新生成文件

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

重启系统后查看是否生效

右下角没有跳秒,按 e 键进入GRUB界面

 发现无法进入GRUB,原因是因为我GRUB和Linux的用户都是liugh,将GRUB的用户名更改一下

再次尝试可以进入GRUB界面

运用GRUB界面更改root密码

rd.break方法

(1)启动系统进入GRUB界面,按下<e>键进入GURB编辑

(2)找到Linux开头那一行,在末尾加上rd.break console=tty0

(3)按下<Ctrl>+<x>启动系统

(操作不成功则先尝试将rhgb quite删除,再不成功则用Shell方法)

(4)执行以下命令改变系统目录临时挂载目录

mount -o remount,rw /

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

chroot /sysroot

(6)执行passwd修改root密码

passwd root

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

touch /.autorelabel

重新启动即可

Shell方法

如果使用rd.break不能进入系统启动,则可以向内核传递“init=/bin/bash”或“init=/bin/sh”参数,使用shell代替默认的daemon进程来重置root密码

(1)找到Linux开头那一行,在末尾加上init=/bin.bash

(2)按下<Ctrl>+<x>启动系统

(3)执行以下命令以可写方式重新挂载根目录

mount -o remount,rw /

(4)执行命令passwd修改root密码

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

touch /.autorelabel

(6)输入下面的命令重启系统

exec /sbin/init

或者

exec /sbin/reboot

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值