教你如何在 Centos7.7中设置GRUB菜单的密码

大多数linux发行版使用GRUB 2作为引导加载程序 。GRUB 2 (GNU Grand Unified Boot loader)是GNU项目中的一个引导加载程序包 。
GRUB2提供两种类型的密码保护:
修改菜单条目时需要密码,但启动菜单条目时不需要密码;
修改菜单条目和启动一个、多个或所有菜单条目都需要密码 。
设置修改菜单条目时的密码
使用 grub2-setpassword设置密码可以防止修改GRUB菜单条目,但是不能防止未经许可的启动 。如果需要启动条目的时候也需要密码,需要修改grub配置文件 。
在RHEL 7.2和centos7(及更高版本)上,GRUB 2使用grub2-setpassword命令提供密码保护 。
[root @localhostgrub.d]# grub2-setpassword
Enter password:
Confirm password:
当在grub菜单里面按下 e或 c,编辑的时候,提示需要用户名和密码才能修改 。

教你如何在 Centos7.7中设置GRUB菜单的密码

文章插图

教你如何在 Centos7.7中设置GRUB菜单的密码

文章插图
这个过程创建了一个/boot/grub2/user.cfg配置文件,其中包含已经加密的密码 。这个密码的用户是root,在/boot/grub2/grub.cfg文件中已经定义了 。通过此更改,在引导期间修改引导条目需要指定root用户名和密码 。
设置修改菜单条目和启动菜单条目时的密码
编辑/boot/grub2/grub.cfg配置文件,搜索 10_linux关键字,然后修改下面 的条目,去掉 --unrestricted参数,这样开机就需要输入用户名和密码了 。
[root @localhost~]# vim /boot/grub2/grub.cfg
教你如何在 Centos7.7中设置GRUB菜单的密码

文章插图
修改前
教你如何在 Centos7.7中设置GRUB菜单的密码

文章插图
去掉—unrestricted参数之后的配置
修改完成之后,保存退出,重启操作系统,启动系统的时候会提示输入账号密码 。
教你如何在 Centos7.7中设置GRUB菜单的密码

文章插图
如何把root用户修改成其他的用户?
【教你如何在 Centos7.7中设置GRUB菜单的密码】Grub.cfg配置文件中默认设置的是root用户,我们可以更改成其他的用户 。
编辑/boot/grub2/grub.cfg配置文件,搜索 01_users关键字,把root修改为其他的用户,这里修改成了”test”用户名 。
教你如何在 Centos7.7中设置GRUB菜单的密码

文章插图

教你如何在 Centos7.7中设置GRUB菜单的密码

文章插图
如何删除密码?
想要删除密码,直接删除/boot/grub2/user.cfg文件就可以 。
[root @localhost~]# rm -rf /boot/grub2/user.cfg
总结
可以使用grub的密码保护启动条目和修改条目菜单 。grub2-setpassword工具是在RHEL7.2/Centos7.2中添加的,现在是设置GRUB 2密码的标准方法 。




    推荐阅读