在之前的博文中曾介绍过Linux中的单用户模式,单用户模式类似于Windows中的WinPE,可以绕过系统的诸多限制来对系统进行配置,比如修改root用户密码等。单用户模式的使用参见博文http://yttitan.blog.51cto.com/70821/1130029。
单用户模式的风险也是显而易见的,如果任何人都可以随意进入单用户模式,而Linux服务器又无法保证物理安全的话,那么还是存在很大的安全隐患。因而在生产环境中经常需要为GRUB引导菜单设置密码,通过GRUB密码阻止非授权用户进入单用户模式,从而增强系统安全性。
另外,如果直接对GRUB进行明文加密也是非常不安全的,所以就要使用MD5算法对密码进行加密,相关命令是grub-md5-crypt。
例:利用grub-md5-crypt命令生成经MD5加密后的密码。
[root@localhost ~]# grub-md5-crypt Password: Retype password: $1$kjVBU1$7Dd4cT8HjIyq0j/Y0o/mN0 |
下面来修改GRUB的配置文件/etc/grub.conf,这里要用到password参数。
将刚才生成的MD5密文复制下来,再按照“password –md5 MD5密文”的格式在grub.conf文件中设置密码。密码可以放在grub.conf文件中的任意位置,但放在不同的位置就会在不同的时刻生效,比如将密码放在default参数所在行的上方,就会在BIOS自检之后、GRUB引导之前就要求输入密码,也就是每次系统启动或重启时都会要求输入密码。在生产环境中一般都是将密码放置在title参数所在行的上方,这样只有当用户要进入GRUB引导菜单时才会要求输入密码。
例:为GRUB设置引导菜单密码。
修改完grub.conf文件之后,将系统重启,再次进入GRUB引导菜单时会出现下图所示的提示,要求用户按“p”键输入密码。
输入正确密码之后,就可以进入GRUB引导菜单了。
本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1582424