Linux红帽 以非 root 用户重置root密码并设置GRUB密码

文章目录

  • 概要
  • 重置root密码:
    • 方法一:
    • 方法二:
  • 设置启动项等候时间
  • 设置GRUB密码
  • 小结

一、概要

        在Linux中执行代码的过程中,时常需要进入root管理员用户。当需要操作的系统过多,账户和密码过于复杂时,难免存在忘记root密码的情况。一旦忘记root用户密码,就无法执行任何面对整个系统的变更工作。这时可使用以下方式,对root密码进行重置。

        以下以红帽RedHat Linux 9为例

二、重置root密码

        方法一:在引导时重置 root 密码

        1.启动Linux,进入GRUB编辑模式

        进入Linux时,会出现引导界面,此时可以通过上下箭头建来选择需要启动的模式,按<e>建进入GRUB编辑模式。我们选择含有”rescue”的那行。

        2.找到以”linux”开头的那一行,在段尾添加以下命令

rd.break enforcing=0

        3.按<Ctrl>+<x>组合键启动系统

        会出现以下界面,此时按<ENTER>键,即可输入命令

        4.执行以下命令,重新挂载文件系统

mount -o remount,rw /sysroot

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

chroot /sysroot

        6.执行passwd命令,修改root密码

passwd root

        执行该命令后,需输入两次新密码

        

        7.在根目录创建相关文件,用于重新标记SELinux环境值:

touch /.autorelabel

        8.执行exit命令两次

        第一次是退出chroot环境,第二次是重启系统

        重启系统时,需要耐心等待

        方法二:进入Shell引导界面

        相比于第一种方法,该方法是动态修改GRUB引导参数。其中部分步骤与第一种方法

相同。

        1.启动Linux,进入GRUB编辑模式

        启动Linux,进入GRUB编辑模式,通过上下箭头建来选择需要启动的操作系统,按<e>建进入GRUB编辑模式。同样选择含有’rescue’的那行

        2.找到以”linux”开头的那一行,用”init=/bin/sh”替换”rhgb quiet”

        3.按<Ctrl>+<x>组合键启动系统

        需要耐心等待,当出现’#’时,即可输入命令

        此时进入的即是Shell引导界面。该模式不需要root密码而拥有root权限。

        4.执行以下命令,重新挂载根目录

mount -o remount,rw /

        5.执行passwd命令,修改密码

passwd root

        此时需输入两次新密码

        6.如果系统启动了SELinux,必须执行以下命令,否则无法正常启动系统

Touch /.autorelabel

        7.执行以下命令启动系统

exec /sbin/init

        或执行以下命令重启系统

exec /sbin/reboot

三、设置进入默认启动项的等候时间

        当进入Linux引导界面,进行选择操作系统时,会发现进入操作系统的等候时间太短,自动进入操作系统,未进入GRUB编辑模式。此时我们可通过修改/etc/default/grub配置,来调节等候时间。

        1.进入/etc/default/grub配置

vim /etc/default/grub

        2.修改以下配置

        将开头”GRUB_TIMEOUT=5”命令中的”5”,修改为”-1”。”-1”表示启动时需手动确认,即:    

GRUB_TIMEOUT=-1

四、设置GRUB密码

        以上重置root密码的两种方式,虽然很好的解决了我们root密码的问题。但其并不具备安全性,任何人都可以轻易的通过这两种方式重置你的root密码,并修改你的配置文件。这时我们就需要设置GRUB密码,其方法是修改GRUB配置文件,设定密码。

        GRUB密码的设置通常是为了增强系统的安全性,防止未经授权的访问。在这篇博客中,我们用来给root密码加密,增加其安全性。

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

        执行以下命令,进入该文件

vim /etc/grub.d/00_header

        2.在该文件末尾添加以下内容后,保存该文件 

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

        注:该密码不是root密码,是进入GRUB编辑模式所需的密码。即给重置root密码,上了一把锁。(后文中,为方便辨别,我们将此称为“第二密码”) 

        3.执行grub2-mkconfig命令,重新生成grub.cfg文件

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

        4.重启系统,在GRUB开始界面中按<e>键,进入GRUB编辑模式

        此时,则需要我们输入用户和密码

        以上设置的为明文密码,用户可进入/etc/grub.d/00_header查看该密码。此时,我们还可对该密码进行加密

        5.使用工具grub2-mkpasswd-pbkdf2生成加密密码

grub2-mkpasswd-pbkdf2

        注:此时需输入“第二密码”两次

        6.将/etc/grub.d/00_header文件password语句中的密码更换为上述以”grub.pbkdf2.sha ”开头的密文,如下图所示:

vim /etc/grub.d/00_header

 其中,需要用"password_pbkdf2"替换"password admin"

        7.执行grub2-mkconfig命令,重新生成grub.cfg文件

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

五、小结

        当我们忘记root密码时,可以通过以上两种方式,以非root用户的身份重置root密码。同时,这也意味他人也能随意更改root密码。因此,我们需要设置GRUB密码,对其进行加密上锁,确保更改root密码的安全性。

        此外,我们还需注意,以非root用户的身份重置root密码和设置GRUB密码都是涉及到系统安全和权限管理的敏感操作。在进行这些操作时,应谨慎行事。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值