grub2 加密
几乎能接触到物理机的人都能用上面的方法去修改 root 密码,安全性还是有点问题,我们可以通过 grub 菜单加密,进入 grub 时必须输入密码,这样就能避免上述情况发生。
1、 7.0 和 7.1方法如下
1)、执行生成加密密码的命令"grub2-mkpasswd-pbkdf2",两次输入相同密码,PBKDF2 hash of your password is 之后的部分就是加密后的密码
[root@CentOS-04 ~]# grub2-mkpasswd-pbkdf2
输入口令:
Reenter password: PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.497F246861691979B9B7A6E3758A865929ED27D121E913DB7CE825BA8051A6F12C8AFA6A1A497BA87AC2AEEF2FDDC293523114CAC53603B78B6BD790EEE802A7.3E1A2876C499CD9F12A8A634C7D4A18B84F8F0AF69BDB4D9C1E859A1861BB01EA5E34BBF65388CED8F4435C50051C61FBB460E489F1D1E4DA41A5B5984E43F1C
2)、编辑 /etc/grub.d/40_custom 文件,添加内容如下,密码为上面加密之后的密码
set superusers = "root" password_pbkdf2 root grub.pbkdf2.sha512.10000.497F246861691979B9B7A6E3758A865929ED27D121E913DB7CE825BA8051A6F12C8AFA6A1A497BA87AC2AEEF2FDDC293523114CAC53603B78B6BD790EEE802A7.3E1A2876C499CD9F12A8A634C7D4A18B84F8F0AF69BDB4D9C1E859A1861BB01EA5E34BBF65388CED8F4435C50051C61FBB460E489F1D1E4DA41A5B5984E43F1C
文件内容如下
# cat /etc/grub.d/40_custom #!/bin/sh exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
set superusers = "root"
password_pbkdf2 root grub.pbkdf2.sha512.10000.497F246861691979B9B7A6E3758A865929ED27D121E913DB7CE825BA8051A6F12C8AFA6A1A497BA87AC2AEEF2FDDC293523114CAC53603B78B6BD790EEE802A7.3E1A2876C499CD9F12A8A634C7D4A18B84F8F0AF69BDB4D9C1E859A1861BB01EA5E34BBF65388CED8F4435C50051C61FBB460E489F1D1E4DA41A5B5984E43F1C
3)、然后执行命令"grub2-mkconfig -o /boot/grub2/grub.cfg"重新生成配置文件。
# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-862.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-862.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-5cd1608ab306482b8813c487489ccd84
Found initrd image: /boot/initramfs-0-rescue-5cd1608ab306482b8813c487489ccd84.img done
4)、reboot 重启,进行验证
2、7.2 + 方法如下
从7.2开始,上述用于保护Grub的方法不起作用。在7.2中引入了新的实用程序“ grub2-setpassword ”
1) 执行 grub2-setpassword 命令
# grub2-setpassword Enter password: Confirm password:
2)如果现在重新启动系统并尝试修改引导条目,系统将要求提供凭据,但是可以在没有凭据的情况下修改引导条目。为了阻止未经授权的修改和未经授权的启动,我们需要对 /boot/grub2/grub.cfg 文件进行更改
打开文件并使用密码搜索需要保护的启动条目,它以menuentry开头。找到条目后,从中删除 --unrestricted 参数
3) reboot 重启验证,只有当输入正确的用户名和密码时,才能进入 grub 菜单或者修改引导条目。
注:输入密码时无回显,Linux 特征