Ubuntu GRUB全局密码和菜单密码
时间:2010-11-08 来源:mydear
在向大家详细介绍GRUB的密码设置之前,首先让大家了解下Ubuntu GRUB的密码,然后全面介绍Ubuntu GRUB的密码,希望对大家有用。众所周知,通过编辑Ubuntu GRUB启动参数可以轻松的进入单用户模式从而修改root密码,这对于一台多用户的计算机或服务器来说,无疑增加了安全隐患。大家一定很像为自己的 Ubuntu GRUB加一把锁吧,大家可以通过GRUB的password参数对GRUB设置密码。
Ubuntu GRUB的密码设置可分为全局密码和菜单密码。
为了防止他人通过Ubuntu GRUB修改root密码大家需要设置一个全局密码。vi /boot/grub/grub.conf(或menu.lst)在splashimage这个参数的下一行可以加上password=密码,保存后重新 启动计算机,再次登录到 Ubuntu GRUB菜单页面的时候就会发现,这时已经不能直接使用e命令编辑启动标签了,须先使用p命令,输入正确的密码后才能够对启动标签进行编辑;虽然我们设置 了全局密码,但是如果他人得到了全局密码后仍然可以修改 Ubuntu GRUB启动标签从而修改root密码;这样我们就可以设置菜单密码,设置菜单密码也非常简单,我们只需要在title的下一行加上password=密 码,然后保存退出。这样即使有了全局密码也必需输入菜单密码才能够引导系统。此外,如果直接对GRUB进行明文加密也是非常不安全的,所以就要使用MD5 对其进行加密。在终端中输入grub-md5-crypt回车,这时系统会要求输入两次相同的密码,之后系统便会输出MD5码。大家只需要将生成的MD5 密文复制下来,然后在按照password --md5 MD5密文这个格式设置全局或者菜单密码,保存退出,重启计算机即可。
附:
其 实在GRUB启动菜单不能工作的时候,进入Ubuntu GRUB命令行(可按CTRL+C键)后,我们同样可以一步一步地把系统启动起来,其实在menu.lst 中,除title不是指令外,其余的都是Ubuntu GRUB指令,我们只要一步步地输入它们(错了要从新开始),中间输入关于kernel和 initrd要利用TAB键补齐写好,最后只要boot一下就行了.
解决问题:
像上面说的当Ubuntu GRUB不工作的时候,可以进入GRUB命令行一步步的解决,这样作的前提是你知道问题出在那里!当不知道问题在那时,还是使用livecd 进入系统,查看出问题在那里,然后修改grub.conf或者menu.lst。在查找问题时,先进入终端在Ubuntu GRUB下用find /boot/grub/stage1命令找到内核文件的真正的位置,然后参考下面系统配置文件/etc/fstab修改grub.conf或者 menu.lst,这里最好使用各文件系统盘的UUID;当然也有可能出现别的问题:像内核丢失;grub.conf或者menu.lst丢失,那就另当 别论了。
修改后的menu.lst部分内容:
title Ubuntu 8.04.1, kernel 2.6.24-19-generic
root (hd0,2)
kernel /boot/vmlinuz-2.6.24-19-generic root=UUID=2312ec5d-592c-450f-8590-010efd1fd4a6 ro quiet splash i locale=zh_CN xforcevesa
initrd /boot/initrd.img-2.6.24-19-generic
quiet
title Ubuntu 8.04.1, kernel 2.6.24-19-generic (recovery mode)
root (hd0,2)
kernel /boot/vmlinuz-2.6.24-19-generic root=UUID=2312ec5d-592c-450f-8590-010efd1fd4a6 ro single
initrd /boot/initrd.img-2.6.24-19-generic
title Microsoft Windows XP Professional
root (hd0,0)
makeactive
chainloader +1
以上介绍Ubuntu GRUB密码设置。