忘记root密码的时候,往往会进入单用户模式重置root密码。任何人能通过未设防grub重置root密码是很危险的事,本文以centos8为例介绍设置GRUB账户给GRUB加密,避免能直接进入单用户模式

Cento8

在我实际测试用这个方法在centos8是有效的。

在root权限编辑"grub.d"目录下的"00_header"文件,命令模式输入大写G,跳转到文件尾部。

vim /etc/grub.d/00_header

在尾部追加下面的语句,两处admin位置代表账户,qwe123位置代表密码,可以自行设置其他。

cat <<EOFset superusers='admin'password admin qwe123E0F


文件编辑保存,更新一下grub文件

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


然后重启,在开机grub选择页面按e进入编辑引导,如果有需要登录且输入对应的账户密码进入编辑,即为设置成功。

Centos7.2/Centos8

首先设置密码

grub2-set-password

记住密码,输入两次确认密码:

密码密文存放在:/boot/grub2/user.cfg文件中

这样生成的默认账户是root,有需要可以把root修改成其他的:

vim /etc/grub.d/01_users

最后一步更新grub。

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

然后重启在grub选择项那里按e测试grub账户密码。


刘遄
25 声望17 粉丝

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。