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

相关推荐

  • CentOS7.3安装Jumpserver0.3.2

    CentOS7.3安装Jumpserver0.3.2 公司服务器前端增加堡垒机,选用开源的jumpserver 软件环境CentOS Linux release 7.3.1611 python 2.7.5 mysql5.7 安装git yum -y install git 克隆jumpserver # cd /opt # git clone https://…

    Linux干货 2017-07-11
  • 第一天,学习

    好好学习,天天向上

    Linux干货 2016-08-08
  • keepalived + LVS-NAT 双主互备模型

        实验环境拓扑图:     备注:内网段使用192.168.91.0/24 网段模拟。外网使用192.168.23.0/24网段模拟 1、两节点上关闭防火墙和selinux。 [root@node1 keepalived]# systemctl stop firewalld…

    Linux干货 2016-03-12
  • 常见RAID总结

    RAID浅析 目录索引 一、定义 二、特点 三、常用RAID级别      四、RAID实现方式 五、实际环境测试 一、定义: 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。 独立磁盘冗余阵列(RAID,redundant array…

    Linux干货 2016-04-12
  • 学习宣言

    世界上只有一种失败,就是半途而废!

    Linux干货 2016-12-29
  • N25期第七周作业

    创建一个10G分区,并格式为ext4文件系统   要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳 fdisk /dev/sdb # size 10G type 83 mke2fs -t ext4 -b 20…

    Linux干货 2017-02-28