Linux Red Hat重置密码和修改GRUB密码

前言

我们在使用Linux红帽的过程中可能会忘记root密码,很多小伙伴可能会重装红帽,接下来介绍两种省时省力又简便的方法。

修改GRUB密码

在重置密码之前我们需要注意两点,第一点是GRUB界面我们有时间限制,有些小伙伴可能还没反应过来就已经进入登录界面,所以我们需要修改相关的配置文件防止跳秒。第二点就是们需要先对GRUB进行加密处理,对GRUB进行加密的主要目的是为了增强其安全性。GRUB是一个多系统引导管理器,它负责在计算机启动时加载和传输控制到操作系统的内核。因此,GRUB是计算机启动过程中的关键组件,对其进行加密可以有效防止未经授权的访问和篡改。接下来要我们操作一下:

(1)设置主要环境

编辑/etc/default/grub以设置主要环境

vim /etc/default/grub

把第一行的数字改为-1,这样每次启动时不会跳秒,不至于手忙脚乱重启服务机

修改上面这个文件之后,必须执行grub2-mkconfig命令重新生成grub.cfg文件

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

再reboot重启系统即可生效。

(2)设置GRUB密码

我们是通过修改/etc/grub.d目录下的配置文件来设置、修改GRUB密码,/etc/grub.d目录中有很多数字开头的脚本文件,在此之前先介绍一下/etc/grub.d目录中的主要脚本文件。

00_header:这个脚本通常包含GRUB配置文件头部的一些通用设置和变量定义。
10_linux:这个脚本负责生成代表已安装Linux内核的启动项。它遍历/boot目录中的内核文件,并为每个内核创建一个启动菜单项。
20_memtest86+ 或 20_test:这些脚本与内存测试工具memtest86+有关,用于在GRUB菜单中添加一个内存测试选项。
30_os-prober:此脚本用于检测系统上安装的其他操作系统(如Windows或macOS),并为这些系统生成启动菜单项。
40_custom:这是一个用户可自定义的脚本,你可以在这里添加非标准的启动项或进行其他自定义配置。
41_custom 或其他更高数字:其他以数字开头的脚本文件可能由特定的软件包或用户添加,以执行特定的任务或添加特定的启动项。

接下来跟我一起来操作吧!

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

cat << EOF

set superusers='admin'   #用户名(随意设置,这里是登录进GURB界面的用户名)

password admin 123456  #密码

EOF

保存退出

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

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

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

以上设置的密码是明文的,当密码以明文形式存储时,任何能够访问存储位置的人都可以直接看到密码,这增加了密码被泄露的风险。而使用密文存储密码,即使攻击者能够访问存储位置,也无法直接看到密码的原始内容,因为密文是经过加密处理的,无法直接还原为明文。所以接下来进行密码加密。

(1)输入grub2-mkpasswd-pbkdf2生成加密的密码

grub2-mkpasswd-pbkdf2

Enter password输入设置的密码,红色框框后面的就是我们设置密码后生成的密文,把后面这一串密文复制到/etc/grub.d/00_header文件

复制的密文放到黄色箭头后面,然后保存退出

然后再执行grub2-mkconfig -o /boot/grub2/grub.d重新生成grub.d文件,即可。

启动虚拟机,进入GRUB界面,输入用户名以及你设置的密码就可进入下图所示的界面。

GRUB的密码设置加密成功。

Red Hat重置密码

方法一:

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

(2)找到下图位置,空一格输入下面命令

rd.break console=tty0

或者

rd.break enforcing=0

(3)然后按下<Ctrl>+x启动,进到如下界面,回车即可

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

mount -o remount,rw /

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

chroot /sysroot

(6)执行passwd修改root密码

passwd root

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

touch /.autorelabel

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

然后稍等片刻,重启之后root密码就已经改成功了。

方法二:

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

(1)启动系统进入GRUB2界面,光标移动到第二个有rescue标志的,按下<e>键进入GURB编辑模式。

(2)然后找到下图所示的框框位置,在后面添加 init=/bin/bash 或者 init=/bin/sh

(3)然后按下<Ctrl>+x启动,进到如下界面

如果你进入的界面是下图所示的样子,按回车即可。

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

mount -o remount,rw /

(5)与上述方法一样,执行命令passwd修改root密码

passwd root

(6)与上述方法一样,如果系统启动了SELinux,必须执行以下命令,否则无法正常启动系统

touch /.autorelabel

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

exec /sbin/init

或者

exec /sbin/reboot

重启之后,我们的root密码就重置成功了,有什么不懂的地方可以留言一起讨论,如果对你有帮助的话,给我点个赞吧。

  • 42
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值