忘记root密码的时候,往往会进入单用户模式重置root密码。任何人能通过未设防grub重置root密码是很危险的事,本文以centos8为例介绍设置GRUB账户给GRUB加密,避免能直接进入单用户模式
Centos8加密GRUB防破解root密码Centos8加密GRUB防破解root密码
Cento8
在我实际测试用这个方法在centos8是有效的。
在root权限编辑"grub.d"目录下的"00_header"文件,命令模式输入大写G,跳转到文件尾部。
vim /etc/grub.d/00_header
Centos8加密GRUB防破解root密码Centos8加密GRUB防破解root密码
在尾部追加下面的语句,两处admin位置代表账户,qwe123位置代表密码,可以自行设置其他。
cat <set superusers='admin'
password admin qwe123
E0F
Centos8加密GRUB防破解root密码Centos8加密GRUB防破解root密码
文件编辑保存,更新一下grub文件
grub2-mkconfig -o /boot/grub2/grub.cfg
Centos8加密GRUB防破解root密码Centos8加密GRUB防破解root密码
然后重启,在开机grub选择页面按e进入编辑引导,如果有需要登录且输入对应的账户密码进入编辑,即为设置成功。
Centos8加密GRUB防破解root密码Centos8加密GRUB防破解root密码Centos8加密GRUB防破解root密码Centos8加密GRUB防破解root密码
Centos7.2/Centos8
首先设置密码
grub2-set-password
记住密码,输入两次确认密码:
Centos8加密GRUB防破解root密码Centos8加密GRUB防破解root密码
密码密文存放在:/boot/grub2/user.cfg文件中
Centos8加密GRUB防破解root密码Centos8加密GRUB防破解root密码
这样生成的默认账户是root,有需要可以把root修改成其他的:
vim /etc/grub.d/01_users
Centos8加密GRUB防破解root密码Centos8加密GRUB防破解root密码
最后一步更新grub。
grub2-mkconfig -o /boot/grub2/grub.cfg
然后重启在grub选择项那里按e测试grub账户密码。