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 17:13
下一篇 2016-09-11 17:43

相關推薦

  • Linux用戶和組管理(第三周)

    第三周作業 1.列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可 [root@localhost ~]# who | cut -d" " -f1 | sort | uniq 2.取出最后登錄到當…

    Linux干貨 2016-09-15
  • shell編程數組及源碼安裝作業

    寫一個腳本,定一個數組,數組中的元素是/var/log目錄下所有以.log結尾的文件,要統計其下標為偶數的文件中的行數之和 [root@localhost sh.log]# cat declaresum.sh  #!/bin/bash #author:DYW #寫一個腳本,定一個數組,數組中的元素是/var/log目錄…

    Linux干貨 2016-08-29
  • raid 5 軟件實現

    raid 5        RAID 5是一種存儲性能、數據安全和存儲成本兼顧的存儲解決方案。 RAID 5可以理解為是RAID 0和RAID 1的折中方案。RAID 5可以為系統提供數據安全保障,但保障程度要比Mirror低而磁盤空間利用率要比Mirror高。RAID 5具有和RAID 0相近似的…

    2017-05-02
  • mysql備份之xtrabackup

    mysql備份之xtrabackup(建議用來備份innodb) 下載地址:https://www.percona.com/downloads/XtraBackup/ 安裝xtrabackup [root@node1 ~]# yum install percona-xtrabackup 完全備份 節點一 修改配置文件,…

    Linux干貨 2016-07-19
  • PHP異常處理詳解

    PHP異常處理詳解          異常處理(又稱為錯誤處理)功能提供了處理程序運行時出現的錯誤或異常情況的方法。   異常處理通常是防止未知錯誤產生所采取的處理措施。異常處理的好處是你不用再絞盡腦汁去考慮各種錯誤,這為處理某一類錯誤提供了一個很有效的方法,使編程效率大大提高。當異常被觸發時,通常會發生:&…

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