Linux内核的系统,如Linux、UNIX等,都存在一个安全性问题,就是通过grub进入单用户模式,进入单用户模式后,可以更改root帐户的密码等等。
那怎么样才是通过grub进入单用户模式呢?
本次实验的操作系统是Rad Hat Enterprise Linux 4(不同系统文件存放地点和文件名可能会有差异)
步骤:
1、在操作系统启动的第一个界面,如下图,是一个限于几秒钟等待键入的画面,此时,在键盘上迅速连续点击”Esc”键(也可以在系统启动之前就一直按”Esc”)
![clip_p_w_picpath002 clip_p_w_picpath002](https://i-blog.csdnimg.cn/blog_migrate/5aa501edfd121b76e24dd8f11e7c3b7b.jpeg)
2、最后画面就停留在此处,如下图。下面有提示说“’e’ to edit the commands before booting”,在此画面键入e
![clip_p_w_picpath002[5] clip_p_w_picpath002[5]](https://i-blog.csdnimg.cn/blog_migrate/5404bb0fd0c719e65ec2aa5364fafae5.jpeg)
3、键入e后跳转到此画面,选择第二项,再次键入e编辑
![clip_p_w_picpath002[7] clip_p_w_picpath002[7]](https://i-blog.csdnimg.cn/blog_migrate/486d7bed759a6236289135c2d5480a13.jpeg)
4、删除”rhgb quie”,输入”single”。请注意不要删到路径,路径+空格+single,如下图。弄错了就麻烦了,建议不要在真实机上做实验。
![clip_p_w_picpath002[9] clip_p_w_picpath002[9]](https://i-blog.csdnimg.cn/blog_migrate/38287e6dd12357a814cbfcaf85d25159.jpeg)
5、更改为single后按回车,回到选择的界面,如下图。Press ‘b’ to boot,键入b启动系统。
![clip_p_w_picpath002[11] clip_p_w_picpath002[11]](https://i-blog.csdnimg.cn/blog_migrate/c9c6d60295b001618784c30ceb60c50e.jpeg)
6、系统启动到命令行界面,到此就可以输入各种命令啦
![clip_p_w_picpath002[13] clip_p_w_picpath002[13]](https://i-blog.csdnimg.cn/blog_migrate/848fe7326b304e971f42de9d818c5f9b.jpeg)
7、想更改root帐户密码。输入passwd回车,提示说更改root用户密码,键入新密码按回车,(请谨慎输入密码,因为在画面上是不可见的),再次输入密码按回车,提示说”updated successfully”就更改成功了,输入reboot重启系统。如下图前几行。
![clip_p_w_picpath002[15] clip_p_w_picpath002[15]](https://i-blog.csdnimg.cn/blog_migrate/5267499b552bf255c9348f5ce97475f2.jpeg)
8、实验做到此处就已经更改root密码成功了。
寥寥几步就可以更改root密码,真是太简单了,那怎样才能拒绝,完全不需要知道任何系统信息,就能更改root密码的行为呢?
Grub加密。设置一下grub,要输入正确的密码才能进入grub编辑
步骤:
1、进入文件夹/boot/grub,打开文件grub.conf,添加一条命令password=123abc!!(密码是随意的),添加到splashp_w_picpath命令的上一行或下一行。如下图
![clip_p_w_picpath002[17] clip_p_w_picpath002[17]](https://i-blog.csdnimg.cn/blog_migrate/1f1d28cfcfc459d33af823c18021c3ca.jpeg)
2、点击保存,重启系统,再次像上面介绍的方法进入此界面,看看有什么不同。没有提示说键入’e’编辑了,而是“’p’ to enter a password”
![clip_p_w_picpath002[19] clip_p_w_picpath002[19]](https://i-blog.csdnimg.cn/blog_migrate/ffc3539c7cd6b754e44e1a6ae2013503.jpeg)
3、键入p,下方出现输入密码的地方,正确输入密码
![clip_p_w_picpath002[21] clip_p_w_picpath002[21]](https://i-blog.csdnimg.cn/blog_migrate/22a78cf2e2e752bf84d61d3aee5451fa.jpeg)
4、正确输入密码按回车后,才进到第一个能编辑的界面,看下图
![clip_p_w_picpath002[23] clip_p_w_picpath002[23]](https://i-blog.csdnimg.cn/blog_migrate/52df4fc635c319628459367523422c6f.jpeg)
5、这样别人就不能随意地进入单用户模式了,因为需要grub密码。
6、但是grub密码,以明文的方式保存在文件里,也是不够安全的,Linux系统自带MD5加密算法。可以利用MD5算法把grub密码加密存放。回到桌面,右击打开终端,输入grub-md5-crypt回车,输入密码,再次输入密码,两次密码一致的话,就生成一串不规则字符串,那就是我们要的被加密的密码,如下图第四行
![clip_p_w_picpath002[25] clip_p_w_picpath002[25]](https://i-blog.csdnimg.cn/blog_migrate/9230dc2bc0a1de95e9a3a48b8dae3933.jpeg)
7、复制不规则字符串,注意不要复制多了或少了。打开/boot/grub下的grub.conf文件
删除’=123abc!!’,空格,输入’--md5’,空格,右击粘贴,把刚才的字符串不多不少地粘贴出来,如下图
![clip_p_w_picpath002[27] clip_p_w_picpath002[27]](https://i-blog.csdnimg.cn/blog_migrate/b0b50850d96738e25b70a5a72e3463d2.jpeg)
8、密码以密文的形式保存在文件中,就安全多了。注意在进入grub界面时,还是输明文的那个密码,而不是输那串不规则的密码字符串。
9、以上做的是grub的全局加密,还有个grub局部加密,还是针对/boot/grub里的grub.conf文件做设置。在title里的root下面,添加一条一样的命令就行了,可以使用另一个密码,重新生成另一个密文,这里只用和全局一样的密码,如下图
![clip_p_w_picpath002[29] clip_p_w_picpath002[29]](https://i-blog.csdnimg.cn/blog_migrate/36ef3c0c07f220673bdb88db56984dc6.jpeg)
10、但是,grub全局加密只是对要进入grub界面时才起作用;而局部加密,不但对grub起作用,而且正常启动系统时,也要求输入局部密码,就是说,如果设置了grub局部密码,正常启动系统时要输入两次密码,一次是局部密码,一次是以前启动系统时root帐户密码,如下图:
![clip_p_w_picpath002 clip_p_w_picpath002](https://i-blog.csdnimg.cn/blog_migrate/5700420a9b5998f9df2c5da1228e4ec4.gif)
![clip_p_w_picpath002[31] clip_p_w_picpath002[31]](https://i-blog.csdnimg.cn/blog_migrate/f0ec0612955ac6055b37204dfe82d93e.jpeg)
![clip_p_w_picpath002[33] clip_p_w_picpath002[33]](https://i-blog.csdnimg.cn/blog_migrate/ad2c7896f47fccf2ffa5e3ab396cc8c2.jpeg)
实验grub加密到此结束
转载于:https://blog.51cto.com/aiguanhui/285566