为了增加服务器的安全性呢,很多小伙伴都问Linux除了用户名密码以外还可不可以设置开机密码这种来增加Linux服务器的安全性,今天就来讲一讲GRUB的密码。

绝大多数的Linux发行版使用GRUB 2作为引导加载程序。GRUB 2 (GNU Grand Unified Boot loader)是GNU项目中的一个引导加载程序包。

GRUB2提供两种类型的密码保护:
1、修改菜单条目时需要密码,但启动菜单条目时不需要密码;
2、修改菜单条目和启动一个、多个或所有菜单条目都需要密码。

设置修改菜单条目时的密码

在用grub2-setpassword设置密码的时候,是可以防止修改GRUB菜单条目的,就是不能防止未经许可的启动。如果需要启动条目的时候也需要密码,需要修改grub配置文件。

在RHEL 7.2和Centos 7(及更高版本)上,GRUB 2使用grub2-setpassword命令提供密码保护。

[root@localhost grub.d]# grub2-setpassword
Enter password:
Confirm password:

设置的效果基本就是上面代码那样似儿的

实际效果就是在grub菜单里面按下e 或c,编辑的时候,提示需要用户名和密码才能修改。下面上图给大家看看
grub菜单
按e或c
这个过程创建了一个/boot/grub2/user.cfg配置文件,其中包含已经加密的密码。这个密码的用户是root,在/boot/grub2/grub.cfg文件中已经定义了。通过此更改,在引导期间修改引导条目需要指定root用户名和密码。

设置修改菜单条目和启动菜单条目时的密码

编辑/boot/grub2/grub.cfg配置文件,搜索10_linux关键字,然后修改下面 的条目,去掉--unrestricted参数,这样开机就需要输入用户名和密码了。

vim /boot/grub2/grub.cfg

主要修改看图
grub修改前
grub修改后

修改完成之后,保存退出,重启操作系统,启动系统的时候会提示输入账号密码。看图!
实际效果

如何把root用户修改成其他的用户?
看了上面两个之后就有了新的想法是不是
Grub.cfg配置文件中默认设置的是root用户,我们是可以更改成其他用户。
编辑/boot/grub2/grub.cfg配置文件,搜索01_users关键字,把root修改为其他的用户,这里修改成了”test”用户名。
改root前
改root后

如何删除密码?

想要删除密码,直接删除/boot/grub2/user.cfg文件就可以。

rm -rf /boot/grub2/user.cfg

小结

可以使用grub的密码保护启动条目和修改条目菜单。grub2-setpassword工具是在RHEL7.2/Centos7.2中添加的,现在是设置GRUB 2密码的标准方法。

你们是不是想到了一个情景如果那个GRUB密码老子忘了怎么办?!是不是心中一万个草泥马。有想知道的私我~哈哈哈哈嗝,进群就好了

最后修改:2020 年 03 月 18 日
喜欢就用赞赏来鞭打我吧~