- A+
有一句格言 - “引导访问== root访问权限”。我完全同意这一说法。任何可以访问引导加载程序的人都可以轻松获得对系统的root访问权限。我们已经发布了一个介绍如何在Linux中重置root密码的指南。该教程教您如何通过Grub bootloader轻松重置或恢复root用户密码。一旦某人拥有对机器的物理和/或引导加载程序访问权限,就无法阻止它们。这就是我们需要通过使用强密码保护Grub Bootloader来增加额外安全性的原因。如果您是Linux管理员,您应该知道如何保护引导加载程序。
本指南介绍了如何在CentOS中使用密码保护Grub引导加载程序。我在CentOS 6.x和CentOS 7.x系统上测试了这个指南,它的工作原理非常好,如下所述。
密码保护GRUB Bootloader
在较旧的Linux发行版中,如CentOS 6.x,RHEL 6.x,Grub是默认的引导加载程序。本节介绍如何在CentOS 6.x系统中设置grub密码。
在进行任何更改之前,始终建议备份GRUB配置文件
$ cp /etc/grub.conf /etc/grub.conf.bak
首先,我们需要加密密码。为此,请以root用户身份登录centos系统,并创建名为grub的文件,如下所示。以下给出的所有命令都以root用户身份执行。
# touch grub
接下来,使用“md5crypt”命令加密密码。为此,请从终端运行以下命令,然后按ENTER键。
# grub-md5-crypt >grub
输入密码两次。请注意,当您在屏幕上输入密码时,您将看不到任何内容。只需输入密码然后按ENTER键,然后重新输入相同的密码并按ENTER键。
密码已加密。接下来,我们需要在/etc/grub.conf文件中添加此密码。
# vi /root/grub /etc/grub.conf
上面的命令将在vi编辑器中打开这两个文件。
您将看到如下所示的加密密码。移动光标点并将其放在密码前面。然后,键入yy以拨打(复制)密码。
Password: Retype password: $1$Ch0NF/$0XsWw8.EW31vRjm5zsnPb/
然后,键入:n(冒号n)。这将切换到下一个文件,即/etc/grub.conf。
在splashimage =(hd0,0)/grub/splash.xpm.gz行之后,按p键粘贴上一个文件中的加密密码。
然后,按i 并在加密密码之前添加行密码-md5,如下所示。
password --md5 $1$I2w2s1$EPZtrLn/h2M4qfh48ZL8O0
这里,$ 1 $ I2w2s1 $ EPZtrLn / h2M4qfh48ZL8O0是我测试系统的加密grub密码。
请参阅以下屏幕截图以获得更多说明。
然后,按ESC并键入:wq以保存并退出。
重新启动系统。
现在,看看Grub启动菜单。如果不先输入密码,则无法编辑grub菜单。
要编辑Grub菜单,请按p。系统将要求您输入密码。只需输入密码即可解锁Grub启动菜单。
现在,您可以在grub启动菜单中进行所需的任何更改。
密码保护GRUB2 Bootloader
在RHEL 7及其克隆如CentOS 7,Scientific Linux 7中,Grub2是默认的引导加载程序。使用密码保护Grub2引导加载程序与grub引导加载程序不同。
首先,使用以下命令以root用户身份创建加密密码:
# grub2-mkpasswd-pbkdf2
如下:
Enter password: Reenter password: PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.62C46DE64C6BDE39A440092F521F86E24F486F5F9FE58B38D1CA9DDA27D6DDA6A6F5615836537B31AF2D06D2C5A8C6BE26709269A08E81286357501882016523.FD91A05503B0538FBA4CF9783A13727C43917E63528FF9FFC9917E4780B9C420CEDAE98451CF9256BA77AC144FA6734CA193D1E4183AC71E1F297BD7868FFC4B
我们刚刚创建了一个加密密码来保护Grub2引导加载程序。您可能已经知道,建议不要直接在grub2主配置文件中编辑和粘贴新生成的密码。相反,我们应该在/etc/grub.d/目录中的自定义Grub2菜单文件中添加密码,最后更新Grub2主配置文件,即/etc/grub.cfg。
制作自定义Grub2菜单文件的副本:
# cp /etc/grub.d/40_custom /etc/grub.d/40_custom.bak
然后,以root用户身份编辑自定义Grub2菜单配置文件:
# vi /etc/grub.d/40_custom
添加以下行。确保您已粘贴我们之前生成的正确密码。
set superusers="root" password_pbkdf2 root grub.pbkdf2.sha512.10000.62C46DE64C6BDE39A440092F521F86E24F486F5F9FE58B38D1CA9DDA27D6DDA6A6F5615836537B31AF2D06D2C5A8C6BE26709269A08E81286357501882016523.FD91A05503B0538FBA4CF9783A13727C43917E63528FF9FFC9917E4780B9C420CEDAE98451CF9256BA77AC144FA6734CA193D1E4183AC71E1F297BD7868FFC4B
按ESC并键入 :wq以保存并关闭文件。
现在,是时候更新Grub2主配置文件了。
确保您拥有Grub2主配置文件的备份副本。
# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
使用命令更新Grub2 bootloader配置文件:
# grub2-mkconfig -o /boot/grub2/grub.cfg
如下:
Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-327.22.2.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-327.22.2.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-327.13.1.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-327.13.1.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-123.9.3.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-123.9.3.el7.x86_64.img Found linux image: /boot/vmlinuz-3.10.0-123.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-123.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-e250d471d5594282ba042c653cfa0172 Found initrd image: /boot/initramfs-0-rescue-e250d471d5594282ba042c653cfa0172.img done
您可以验证是否在/etc/grub2.cfg文件中正确设置了密码,如下所示。
# cat /etc/grub2.cfg
如下:
我们都准备好了。重新启动系统以验证引导加载程序是否已使用密码保护。
重新启动系统后,尝试编辑Grub2引导加载程序。为此,请按e。
系统会要求您输入我们在前面步骤中定义的用户名和密码。
如果您输入了正确的用户名和密码,您将能够编辑Grub2引导加载程序。
您现在知道如何在Linux中使用密码保护Grub和Grub2引导加载程序。就像我已经说过的,这将为您的Linux服务器添加额外的安全层。
- 安卓客户端下载
- 微信扫一扫
- 微信公众号
- 微信公众号扫一扫