第一部分:如何破解linux root密码。
Linux安装完毕后会有一个linux root用户。那么如何在不知道密码的情况下修改掉linux root用户的密码呢?本系统使用RedHat Linux 安装环境是vmware 6.0 使用GRUB引导。
方法如下:
1.在grub引导界面中按“e”进入grub的编辑模式。
2.编辑模式下选择第二项,即:“kernel /vmlinuz-2.4.20-8 ro root=LABEL=/”。然后再按“e”编辑此项。
3.在后面加上“ single”(注意:前面有一个空格)。然后回车,再按“b”这样就启动了linux的单用户模式。
4.由于是单用户模式,所以不需要密码。启动完毕后,在提示符下(注意这时提示符是sh-2.05b#之类的,不是以前的提示符了)输入:“passwd root”(passwd是修改用户密码的命令。)。然后根据提示修改密码就可以了。(有时会提示bad password,没有关系的。主要是设置的密码过于简单或者是常见的单词的原因。)(或者:进入密码配置文件下,vi /etc/passwd, 将密码标志删除了,也就是你要把首行的root:x:0:0.... 改为 root::0:0...(就是把X给删掉)。密码破解成功。)
5.重启,正常进入。OK,linux root密码被修改了。
第二部分:防止别人通过单用户模式修改密码。
由于想引导单用户模式需要在grub中进行编辑。因此,我们只要对grub进行加密,不让别人修改grub就可以防止了。方法如下:
1.grub有一个配置文件,在/etc这个文件夹中。名称是“grub.conf”,找到这个文件,用vi编辑。
2.我们看下文件中的内容:(注释就免了)
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.4.20-8)
root (hd0,0)
kernel /vmlinuz-2.4.20-8 ro root=LABEL=/
initrd /initrd-2.4.20-8.img
具体含义大家可以查看下grub的相关文档,这里我们要加进密码。
共有两个地方可以添加密码。
3.第一处是“timeout=10”的下面,在这里加上“password=123456”(123456是自己的密码)。保存,退出,重启。我们可以看到,在grub的界面上已经不可以按“e”进行修改了。想修改必须按“p”输入密码后进行修改。
4.第二处是“initrd /initrd-2.4.20-8.img”的下面。在这里加上“password=123456”(123456是自己的密码)。保存,退出,重启。我 们可以看到,linux启动前(过了grub界面)又多了一个密码。值得注意的是:这个密码是可以防止单用户模式进入的。也就是说,即使我们通过编辑 grub启动单用户模式,还是要输入这个密码的。
第三部分:如何破解grub密码,进而取得用户权限。
想要取得grub密码,我们就得想办法读取到grub.conf文件。但是没有grub密码,没有linux root密码。因此我们就不能通过grub引导。方法如下:
1.首先要修改这个虚拟机的启动方式,我们需要从光盘启动。而虚拟机默认是硬盘为第一启动方式。
在虚拟机刚启动的时候(那个大大的“vmware”的界面)马上按“F2”进入bios。
2.选择到boot那一栏。选中“CD-ROM Drive”一项,按“+”把“CD-ROM Drive”这一项提升到最上面。这样系统就默认光盘启动为第一启动方式了。
3.把linux的第一张安装盘镜像绑定光驱后,保存,重启。系统会直接进入linux的安装界面。在提示符下输入“linux rescue”回车,系统将启动linux救援模式。
4.途中会有几个选项,按照提示选择就好。有个提示要选“Continue”,有些同学易习惯当成安装时的“Skip”选项,这里问的是你是否想要进入安全模式,选yes即可。最后会看到一个说明,大概是说这个救援系统把原来的系统文件(硬盘上的那个)挂载到了“/mnt/sysimage”文件夹下。(我们可以cd /mnt/sysimage,然后vi /etc/grub.conf).
5.启动好后,我们就可以寻找grub.conf文件了。这里要注意下文件夹的结构:我们现在在救援系统的根目录下。而我们要找的是原系统的“/etc /grub.conf”,因此完整的路径是:“/mnt/sysimage/etc/grub.conf”。用vi编辑此文件,我们便可以看到,并且修改 该文件,将加密的密钥给删除,保存退出。密码破解成功。
6. 重启,再次设置BIOS,从硬盘启动。
第四部分:如何防止别人引导到linux救援模式。
我们可以看到,要引导到救援模式必须修改bios。那么我们就可以通过对bios加密来达到防止别人修改bios,从而无法从光盘引导的目的。方法如下:
这个比较简单。进入bios后选择“Security”项。在“Set Supervisor Password”上回车。设置密码就可以了。这样。我们重新启动系统再次进入bios的时候就需要密码了。
第五部分:如何破解bios密码。
我们平时清除主机bios密码的时候经常用什么方法呢?拔跳线,抠电池,让bios恢复出厂设置。那么,在虚拟机上有类似的方法么?方法如下:
找到虚拟机所在的文件夹,里面应该有一个后缀名是“.nvram”的文件。把这个文件删掉。启动系统。我们可以看到。bios被重置了。
第六部分及后续:防止别人删除文件等等。
这部分已经属于windows的内容了,不再叙述。这里我想说的是,过分的依赖技术只会导致系统变得越来越复杂,过多的密码已经给我们造成了很大的负担。况且,没有绝对安全的系统,最终的解决办法还是需要人们自觉的遵守规定。