目录
前言
GRUB是一个来自GNU项目的多操作系统启动程序。它允许用户可以在计算机内同时拥有多个操作系统,并在计算机启动时选择希望运行的操作系统。
GRUB提供的功能包括:
- 模块化设计:GRUB被设计为模块化,这意味着用户可以根据需要添加或删除模块,以支持特定的文件系统或设备。
- 设备映射:GRUB可以映射硬盘和其他存储设备,以便更容易地访问和识别这些设备上的分区和文件系统。
- 脚本支持:GRUB支持使用脚本语言来配置启动过程,这使得用户能够定制他们的启动菜单和启动过程。
- 图形用户界面:虽然GRUB最初是一个文本模式的启动加载器,但它也支持图形用户界面,提供了更直观的启动菜单。
重置root密码:
一旦忘记root密码,就无法执行任何面向整个系统的变更工作。不过Linux中很容易使用root账户重置密码。具体方法有两种。
第一种:进入GRUB修改密码
1.打开Linux虚拟机进入GRUB2界面后会出现如下界面,
按下<e>键进入GRUB编辑系统(注意!!!请选择末尾有右箭头的选项)
2.进入后出现下图,按下箭头找到 linux 开头的那一行,在行末即如下图所示rhgh quiet后方先输入一个空格再加入命令
rd.break enforcing=0
之后按<Ctrl>+<x>组合键 启动系统
出现下图按Enter键
#执行以下命令重新加载文件系统
mount -o remount,rw /sysroot
如上图
执行以下命令改变系统目录为临时挂载目录
chroot /sysroot
执行passwd命令修改root密码
在根目录下创建相关文件 (用于重新标记 SELinux 环境值):
touch /.autorelabel
执行exit命令退出chroot环境, 再执行 exit重启系统。
如果在VMware虚拟机上操作不成功,可以将linux开头的那一行中的"rhgb quiet"先删除。
rd. break 这种方法一般用于修改 root密码或者出现重大问题, 临时中断运行, 未装载往何文件系统, 比上述救援模式还要精简。
第二种:进入shell引导界面
如果使用rd. break不能进入系统启动,我们则可以向内核传递“init=/bin. bash”或‘nit=/bins参数, 使用 Shell 替代默认的 daemon 进程来重置 root密码。
1.打开Linux虚拟机进入GRUB2界面后会出现如下界面,按下<e>键进入GRUB编辑系统(注意!!!请选择末尾有右箭头的选项)
2..进入后出现下图,按下箭头找到 linux 开头的那一行,在行末即如下图所示rhgh quiet后方先输入一个空格再添加如下参数
init=/bin.bash
#或者
nit=/bin/sh
3. 之后按<Ctrl>+<x>组合键 进入以下界面
完成上述步骤后再继续以下步骤
执行以下命令以可写方式重新挂载根目录:
mount -o remount,rw/
执行以下命令修改root密码(设置自己想要的密码输入俩次):
passwd root
如果系统启动了SELinux,必须执行以下命令,否则将无法正常启动系统:
touch /.autorelabel
执行
exec /sbin/init
命令启动系统,或者执行
exec /sbin/reboot
命令重启系统
设置GRUB密码
编辑/etc/grub.d/00_header文件末行添加此内容:
cat <<EOF
set superusers='admin'#用户名(是可以自主定义的,这里以此为例)
password admin 123456#密码,可自主定义
EOF
执行grub2-mkconfig 命令重新生成grub.cfg 文件
grub2-mkconfig -o /boot/grub2/grub.cfg
重新启动系统,在GRUB开始界面中按下<e>键进入GRUB编辑模式,输入用户名和密码。
以上设置的密码是明文的,当密码以明文形式存储时,任何能够访问存储位置的人都可以直接看到密码,这增加了密码被泄露的风险。而使用密文存储密码,即使攻击者能够访问存储位置,也无法直接看到密码的原始内容,因为密文是经过加密处理的,无法直接还原为明文。所以接下来进行密码加密。具体方法是先使用工具grub2-mkpasswd-pbkdf2生成密文
grub2-mkpasswd-pbkdf2
然后将/etc/grub.d/00_header文件的password语句中的密码更换成上述以grub.pbkdf2.sha开头的密文
最后执行命令grub2-mkconfig
grub2-mkconfig
如果上述命令无法成功使用密文,就使用以下命令
grub2-mkconfig -o /boot/grub2/grub.cfg
重新启动系统,在GRUB开始界面中按下<e>键进入GRUB编辑模式,输入用户名和密码。
输入用户名和密码后成功进入此界面
总结
任何人不需要密码进入GRUB是具有非常大的安全隐患的!!!
以上是小编团队编写的Red hat9 重置root密码两种方法及设置GRUB密码,如有帮助请点赞收藏哦,若有错误请指出。