GRUB——防止root密码被破解

GRUB(Boot Loader):


·grub:GRand Unified Bootloader

         grub 0.x:grub leagacy

         grub 1.x:grub2

·grub legacy:

         stage1:mbr中

         stage1_5:mbr之后的扇区,让stage1上的bootloader能识别stage2所在的分区上的文件系统

         stage2:磁盘分区(/boot/grub/)

         配置文件:/boot/grub/grub.conf <– /etc/grub.conf

        

         stage2及内核等通常放置于一个基本磁盘分区:

         功用:

                 (1) 提供菜单,并提供交互式接口

                         e:编辑模式,用于编辑接口

                         c:命令模式,启动交互式接口

                

                 (2) 加载用户选择的内核或操作系统

                         运行传递参数给内核

                         可隐藏此菜单

                

                 (3) 为菜单提供了保护机制

                         为编辑菜单进行认证

                         为启用内核或操作系统进行认证

                

         如何设备设备:

                 (hd#,#)

                         hd#:磁盘变化,用数字表示;从0开始编号

                         #:分区编号,用数字表示;从9开始

                        

                         (hd0,0)

·grub的命令行接口

         help:获取命令帮助

         help KEYWORD:获取帮助信息

         find (hd#,#) /PATH/TO/SOMEFILE

        ·root (hd#,#):指定grub stage2的根所在

        ·kernel /PATH/TO/KERNEL_FILE:设定本次启动时用户的内核文件;额外还可以添加许多内核支持使用的cmdline参数

                 可在kernel后追加的内容:

                         init=/path/to/init:指明init路径,指定启动内核后的第一个进程

                         selinux=0:此次启动关闭seliunx

                         ro root=/path/to :指明根文件系统

                         quiet:静默模式

                        

                        rhgb:设置启动过程是图像

                        max_loop=100:增加/dev/loop设备为100个(默认为8个)

                        1,S,s,single:以级别1启动,可用户破解root用户密码

        ·initrd /PATH/TO/INITRAMFS_FILE:设定为选定的内核提供额外文件的ramdisk

                 initrd中文件的版本号必须同内核版本号完全匹配(这个文件是安装好系统后自动编译生成了(mkdosfs),和当前系统是匹配的,选则了不匹配的ramdisk则可能出错)

        ·boot:引导启动此前选定的内核

         手动在grub命令行接口启动系统:

                 grub > root (hd0,0)

                 grub > kernel /vmliunz-VERSION-RELEASE ro root=/dev/DEVICE selinux=0

                 grub > initrd /initramfd-VERSION-RELEASE.img

                 grub > boot

·配置文件:/boot/grub/grub.conf

         配置项:

                 default=#:设定默认启动的菜单项;菜单项(title)编号从0开始

                 timeout=#:设定菜单项等待选项选择的时长

                 splashimage=(hd0,0)/PATH/TO/XPM_PIC_FILE:指明菜单背景图片文件路径

                 hiddenmenu:隐藏菜单

                 password [–md5] STRING:菜单编辑认证,增加系统安全

                 title TITLE:定义菜单项“标题”,可出现多次

                         root (hd0,0):grub查找stage2及kernel文件所在这边分区,为grub的“根”提供访问路径

                         kernel /PATH/TO/VMLINUZ_FILE [PARAMETERS]:启动的内核

                         initrd /PATH/TO/INITRAMFS_FILE:内核匹配的ramfs文件

                         password [–md5] STRING:启动选定的内核或操作系统时进行认证

·grub-md5-crypt命令:

        用于生成/etc/grub.conf文件中password –md5 的密码

·cat /var/log/boot.log  

        记录系统启动过程(Welcome to CentOS 之后的)

·cat /proc/cmdline

    本次启动的内核参数

·进入单用户模式:(可直接root破解密码)

         (1) 编辑grub菜单(选定要编辑的title,而后使用e命令)

         (2) 在选定的kernel后附加

                 1,s,S或single都可以

         (3) 在kernel所在行,键入“b”命令

·MBR被破坏了,安装grub:(系统启动中<先挂载光盘,然后进行根切换,然后运行命令>,或系统运行中)

         (1) grub-install

                 grub-install –root-directory=ROOT /dev/DISK

                         -root-directory=:应该为boot所在的父目录

                         /dev/DISK:对那块磁盘安装grub

         (2) grub

                 grub > root (hd#,#)

                 grub > setup (hd#)

拓展:


·chroot命令: 根切换

·破坏了rpm包如何安装

        进入光盘救援模式:

             rpm -ivh /mnt/cdrom/Packages/rpm….rpm –root=/mnt/sysimage/

·破坏了kernel包如何安装

        进入光盘救援模式:

                 (1)rpm -ivh /mnt/cdrom/Packages/kernel….rpm –root=/mnt/sysimage/

                (2)chroot /mnt/sysimage

                mount /dev/cdrom /mnt

                rpm -ivh /mnt/Packages/kernel….rpm

·/etc/fstab被破坏了

         进入救援模式

         测试性挂载,找到根

                 无法使用lsblk

                 可以使用fdisk -l ,  blkid (有卷标则可以直接找到根所在磁盘)

         vim /etc/fstab

                 /dev/sda1 /boot ext4 defaults 0 0     //挂载boot分区

                 /dev/sda2 / ext4 defaults 0 0     //挂载root分区

         reboot:重新启动

·根为lvm的/etc/fstab 被破坏

         lvsacn   //扫描lvm

         vgchange -ay   //恢复lvm中的vg和lv

         blkid   //查看逻辑卷

        挂载根和boot分区,操作同上



原创文章,作者:megedugao,如若转载,请注明出处:http://www.178linux.com/45531

(0)
megedugaomegedugao
上一篇 2016-09-11 17:13
下一篇 2016-09-11 17:43

相关推荐

  • 简单路由实验

    今天学习了路由相关的基础知识,为了加深印象,做了如下的一个实验。根据下面的网络拓扑图分别配置两台PC和路由,以实现PC1和PC2能够互相ping通。实验环境为VM虚拟机 在实验开始前,我们需要在路由添加两块网卡,PC机添加一块网卡,此实验网卡的链接方式是桥接,一共需要4台虚拟机,两台做PC机,两台做路由器 1、R2路由器的配置 [root@linuxpao&…

    Linux干货 2016-09-05
  • 马哥教育网络班22期+第3周课程练习

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。    [test2@localhost ~]$ who |cut -d " " -f1|sort -u   &nbsp…

    Linux干货 2016-08-30
  • ​ 马哥教育网络班22期+第4周课程练习

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限;     cp -a /etc/skel /home/tuser1     chmod -R 7…

    Linux干货 2016-10-17
  • 马哥教育网络班N22期+第4周课程练习

    马哥教育网络班N22期+第4周课程练习 1. 复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 cp -rf /etc/skel /home/tuser1  chmod -R go= tuser1/ 2. 编…

    Linux干货 2016-09-19
  • 磁盘及文件系统管理应用实例

    磁盘及文件系统管理应用实例 1.创建一个10G的分区,并格式化为ext4文件系统 要求其block大小为2048,预留空间百分比为2,卷标为MYDATA,默认挂载属性包含acl 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳 [root@master ~]# fdisk /dev/sdb Command (m for…

    Linux干货 2017-08-14
  • 进入linux世界的初步认识

    1、 描述计算机的组成及其功能.
    2、 按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别.
    3、 描述Linux的哲学思想,并按照自己的理解对其进行解释性描述.
    4、 说明Linux系统上命令的使用格式;详细介绍ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例来阐述.
    5、 如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的.
    6、 请罗列Linux发行版的基础目录名称命名法则及功用规定.

    Linux干货 2018-02-25