众所周知,GNU/Linux因其能够达到的安全级别而闻名,但我一直认为,安全性并不取决于你使用的系统,而是取决于配置系统的人。
接下来我们要介绍的这个技巧,在我看来,是GNU/Linux 系统中最大的安全漏洞之一。它或许能帮我们解决一个问题,却可能让我们陷入另一个困境。这一切都要归咎于GRUB,我们可以对其进行编辑,从而造成严重破坏。不过,我们稍后再来探讨如何保护它。
要恢复root密码,我们需要重启电脑。重启后进入Grub 菜单,选择要使用的内核,然后按“ e ”键。我的Grub 菜单显示如下:
menuentry 'LinuxMint GNU/Linux, with Linux 3.0.0-1-486' --class linuxmint --class gnu-linux --class gnu --class os {
insmod gzio
insmod part_msdos
insmod ext2
set root='(/dev/sda,msdos1)'
search --no-floppy --fs-uuid --set=root 13b7959d-3c04-45c0-82c5-86bbfff77b65
echo 'Loading Linux 3.0.0-1-486 ...'
linux /boot/vmlinuz-3.0.0-1-486 root=UUID=13b7959d-3c04-45c0-82c5-86bbfff77b65 ro quiet
echo 'Loading initial ramdisk ...'
initrd /boot/initrd.img-3.0.0-1-486
而我们感兴趣的那一行是粗体突出显示的那一行。 我们转到该行的末尾并输入:
init=/bin/sh
此时,我们按下“ Ctrl+X ”键启动(按键可能因 Grub 版本而异)。启动完成后,我们输入:
# mount -o remount rw /
随后:
# passwd root
我们改了密码,重启了系统,然后……安全漏洞肯定暴露了。所以我最好赶紧着手写一篇关于如何保护Grub 的文章。