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.www58058.com/45531

(0)
megedugaomegedugao
上一篇 2016-09-11
下一篇 2016-09-11

相關推薦

  • 馬哥網絡班N22開學小計

        2010年通信系統碩士畢業就進入了數據中心從事網絡運維管理方面的工作,隨著工作展開逐漸感受到系統方面的知識可能成為自己IT職業生涯的短板,于是從2015年底開始系統的學習linux。     2016年上半年由于備考RHCE,非常幸運的在網絡上接觸馬哥的2013版linu…

    Linux干貨 2016-08-15
  • 搭建yum倉庫的FTP服務器

    搭建centos7ftp服務

    2017-12-02
  • Mysql 多表聯合查詢效率分析及優化

    1. 多表連接類型 1. 笛卡爾積(交叉連接) 在MySQL中可以為CROSS JOIN或者省略CROSS即JOIN,或者使用','  如:  SELECT * FROM table1 CROSS JOIN table2  &nb…

    Linux干貨 2015-04-13
  • GRUB Legacy&Trouble Shooting

    GRUB (Grand Unified Bootloader)        位于系統引導盤的MBR中的Boot Loader。        GRUB是一個來自GNU項目的啟動引導程序。GRUB是多啟動規范的實現,它允…

    Linux干貨 2016-09-13
  • 網絡基礎知識子網劃分

    一、某公司申請到一個C 類IP 地址,但要連接6 個的子公司,最大的一個子 公司有26 臺計算機,每個子公司在一個網段中,則子網掩碼應設為?  根據要劃分的子網數量來算子網掩碼的。2的M次方大于等于N。其中M是劃分子網時要借的位數。N是要劃分的子網數。 將需求代入公式,M=3,C類IP默認的掩碼為24位,再從主機位中借來3位,就是27位。二進制表示…

    Linux干貨 2016-09-06
  • Systemd服務

    POST –> Boot Sequence –> Bootloader –> kernel + initramfs(initrd) –> rootfs –> /sbin/initinit:CentOS 5: SysV initCentOS 6: UpstartCentO…

    Linux干貨 2015-03-02
欧美性久久久久