红联Linux门户
Linux帮助

Linux系统安全之GRUB密码

发布时间:2010-11-06 16:22:28来源:红联作者:Dawnson
Linux的安全性那是大家公认的,不过如果对有些东西不了解的话,它就有可能非常危险。

在Linux的发行版中,大都是用GRUB来引导系统。这就产生了一个问题,如果GRUB没有加密, 那么任何一个人都可以启动电脑,然后以单用户模式登录。

在Linux中,有7个运行级别(7种模式):

0级别、系统处于halt状态,也就是停机状态,类似于执行了“halt”或者“init 0”,所以系统默认运行级别不能设置为0,否则将不能正常启动。

1级别、单用户(single)模式。该模式下我们将可以拥有root权限,可以对系统进行维护,同时该模式下系统运行在最小系统状态,所以不能启动图形界面,不能加载很多服务,它就像Windows下的安全模式。

2级别、无网络服务的多用户模式,没有NFS支持。

3级别、完整的多用户模式,有NFS,登陆后进入控制台命令行模式,也就是我们经常进入字符界面时所选用的模式。此模式下我们可以启动XWindow,通过执行“startx”可以启动它,进入init 5。

4级别、系统保留,一般不用。在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。

5级别、这就是我们正常使用的运行级别----图形化的多用户模式。

6级别、该运行级别下系统会正常关闭并重启,默认运行级别不能设为6,否则会一启动即重启,进入无限循环。

基于这种机制,所以如果没有设置GRUB密码,则任何人均可以修改GRUB以single进入系统,进入系统后就会获得root权限,从而可以达到修改你root密码、破坏数据之类的目的。

因此,我们必须设置GRUB密码,并用MD5算法加密!

1、打开终端,以root登录:

su -
2、执行grub,并获得一个用MD5算法加密后的密码:

grub
md5crypt
执行“md5crypt”后会要求输入一个密码,即我们欲设置的密码,回车后就会生成已经加密的32位加密后密码,如图:

复制该加密后密码!

3、打开/etc/grub.conf(/etc目录下为一个链接链至/boot/grub目录下的这个文件,Ubuntu为/boot/grub/grub.cfg):

vi /etc/grub.conf
4、往“title Fedora (内核版本号)” 上面添加一句:

password --md5 复制过来的加密后密码
使之如下图样式:

5、保存后重启电脑,在GRUB选项处再想修改它就需要密码了,按下“P”键可以输入密码。

加密后,他人再想进入single模式就不行了,因为他改不了GRUB选项,所以更改不了运行级别。

原创文章如转载请注明,转载自:星期九[http://www.ninthday.net];
本文链接: http://www.ninthday.net/2010/10/linux-security-on-grub-password.html
文章评论

共有 28 条评论

  1. dlshanghai 于 2011-11-14 16:22:15发表:

    学习了:0)1

  2. lanlanlangzi 于 2011-11-09 11:24:18发表:

    学习学习{:3_124:}

  3. haiya820 于 2011-11-08 17:02:35发表:

    谢谢,长见识了。

  4. Roc.dragon 于 2011-11-08 16:01:29发表:

    从来没用过,有机会的话用一下。

  5. 丑陋 于 2011-11-08 09:06:59发表:

    学习了

  6. cjcxd2004 于 2011-08-28 16:11:43发表:

    不大懂

  7. cow0312 于 2011-08-22 15:07:16发表:

    补充一点:grub密码在grub.conf中的位置可以放title上面也可以放下面!
    放上面的话如果忘记密码只能用光盘急救模式破解。
    放下面的话,忘记了可以直接在Grub中编辑删掉md5加密的密码,添加一个新密码以单用户进入系统,修改/boot/grub.conf文件即可!

  8. linuxunix 于 2011-08-18 22:26:04发表:

    学习了桌面版的可有可无。

  9. smilewx2006 于 2011-08-08 20:41:04发表:

    嚯嚯~~~学习了;

  10. elysion 于 2011-08-03 15:09:57发表:

    学习了,我是一个人用暂时不用加, 了解了!谢谢

  11. every_why 于 2011-07-29 23:31:58发表:

    学习了

  12. every_why 于 2011-07-29 12:47:48发表:

    学习了

  13. koul 于 2011-07-29 02:14:12发表:

    14# zmj27404


    可以用安装盘引导进入rescue模式,恢复配置文件

  14. jhasheng 于 2011-04-29 16:36:12发表:

    为什么我看不到图呢?

  15. chy505908440 于 2011-03-29 07:20:27发表:

    拿下了

  16. zmj27404 于 2011-03-09 08:35:52发表:

    学习了。当你忘记这个密码时,你就悲剧了,既不能进入5级模式,也不能进入1级模式,
    是不是就意味你得重装系统啊!!:0)1

  17. tonytt420 于 2010-11-24 10:32:55发表:

    安全最重要
    学习了

  18. pallana 于 2010-11-18 21:04:30发表:

    锟斤拷锟斤拷:
    6# pallana 对,就是这样,是不是要安全一点?
    Dawnson 发表于 2010-11-14 23:36


    再次看原文,已经表达过我说的意思,看来阅读了是一回事,读懂了又是一回事阿

  19. Dawnson 于 2010-11-14 23:37:56发表:

    9# lp_linux110
    忘记了GRUB密码,如果你还能进入系统就没事,你可以去掉grub.conf文件里的password那一行就行了。

  20. Dawnson 于 2010-11-14 23:36:59发表:

    6# pallana 对,就是这样,是不是要安全一点?

  21. lp_linux110 于 2010-11-14 15:25:05发表:

    不知道忘记了GRUB密码怎么办?

  22. chainloader 于 2010-11-09 22:56:20发表:

    不错,以前还不大了解呢

  23. ooboontoo 于 2010-11-09 22:01:54发表:

    学习了(e:e2s

  24. pallana 于 2010-11-09 20:23:27发表:

    5# Dawnson


    了解了,GRUB不设置密码,则其他人可以通过GRUB修改配置,使用1级模式登录,于是就拥有了root权限。设置密码后,没法通过GRUB修改配置了,也就无法非法登录系统了。是这样的吧

  25. Dawnson 于 2010-11-08 22:01:02发表:

    4# pallana 不需要的

  26. pallana 于 2010-11-07 21:11:02发表:

    [i=s] 本帖最后由 pallana 于 2010-11-7 21:12 编辑 [/i]

    如果设置了GRUB密码,是不是每次启动机器都需要输入密码才能引导系统?

  27. shanot 于 2010-11-06 20:41:08发表:

    了解一下

  28. shenhao0129 于 2010-11-06 17:42:17发表:

    恩,对于偶单机的用户来说,知道就好了