CentOS 6.8 GRUB加密和破解密码实战指南
案例1:服务器在公共场合,为了防止随便有人进入单用户破解root密码,先对GRUB引导进行加密,为了更加安全对启动内核时也加密 1、编辑grub配置文件 [size=1em]1
[size=1em]2
[size=1em]3
[size=1em]4
[size=1em]5
[size=1em]6
[size=1em]7
[size=1em]8
[size=1em]9
[size=1em]10
[size=1em]11
[size=1em]12
[size=1em]13
[size=1em]14
[size=1em]15
[size=1em]16
[size=1em]17
[size=1em]18
[size=1em]19
[size=1em]20
[size=1em]21
[size=1em]22
[size=1em]23
[size=1em]24
| [size=1em][size=1em][root @localhost ~]# openssl passwd -1 //MD5加密转换
[size=1em]Password:
[size=1em]Verifying - Password:
[size=1em]$1$X8cVMw5v$AH0aUHVNix7Tx6wmHAXsf1
[size=1em][root@localhost ~]# vim /etc/grub.conf
[size=1em]# grub.conf generated by anaconda
[size=1em]#
[size=1em]# Note that you do not have to rerun grub after making changes to this file
[size=1em]# NOTICE: You have a /boot partition. This means that
[size=1em]# all kernel and initrd paths are relative to /boot/, eg.
[size=1em]# root (hd0,0)
[size=1em]# kernel /vmlinuz-version ro root=/dev/sda2
[size=1em]# initrd /initrd-[generic-]version.img
[size=1em]#boot=/dev/sda
[size=1em]default=0 #设定默认启动菜单项,默认为0开始
[size=1em]timeout=5 #指定菜单等待选择的时长
[size=1em]splashimage=(hd0,0)/grub/splash.xpm.gz #指定菜单的背景图片的路径,为xpm格式,采用gzip压缩
[size=1em]hiddenmenu #是否影藏菜单
[size=1em]password --md5 $1$1S9Xy$1MuGZSoPc2vAtkW.jvz0X/ #菜单编辑认证
[size=1em]title CentOS 6 (2.6.32-642.el6.x86_64) #定义菜单项
[size=1em]password 123456 #可以选择明文
[size=1em] root (hd0,0) #本次grub查找stage2及其kernel文件所在设备分区,指定grub的根
[size=1em]kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=UUID=240533cf-b37f-4460-974f-702bab867da5 nomodeset rd_NO_LUKS KEYBOARDTYPE=pc KEYTABLE=us rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8 rd_NO_LVM rd_NO_DM rhgb quiet #需要启动的内核
[size=1em]initrd /initramfs-2.6.32-642.el6.x86_64.img #内核匹配的ramfs文件
|
2、现在开始重启,当启动时候进入GRUB ![]()
//现在看下已经没有直接E可以编辑的指令了,让你按P输入密码才能进行操作
3、当我们进行对内核进行编辑,进入单用户,然后看是否能进入内核(需要输入密码,这个密码使我们配置文件的第二个明文的密码) ![]()
案例2:我们自己忘了root密码了,,上面已经介绍进入单用户模式了,进入单用户后,直接执行passwd更改root密码,然后重启
![]()
| [size=1em][size=1em][root@localhost /]# reboot
|
案例3:GRUB密码忘了怎么办 用光盘救援模式清楚GRUB密码
1,用光盘启动,在安装界面选择 Rescue installed system 进入救援模式 2,根据提示选择语言和键盘
3,选择是否配置网卡,选择no 4,根据硬盘上的系统提示已经找到并挂载在/mnt/sysimage下,continue用读写模式加载 5,输入 chroot /mnt/sysimage 改变磁盘根目录 6,然后vi /etc/grub.conf把密码的行删除,然后exit退出,reboot重启
![]()
现在启动看下是否还需要密码
![]()
已经可以正常进入系统了,不需要密码了
问题来了 案例4:如果grub被破坏了导致系统无法启动该怎么办???
通过光盘进入紧急救援模式来进行修复 1,用关盘启动,在安装界面选择 Rescue installed system 进入救援模式 2,根据提示选择语言和键盘
3,选择是否配置网卡,选择no 4,根据硬盘上的系统提示已经找到并挂载在/mnt/sysimage下,continue用读写模式加载 5,输入 chroot /mnt/sysimage 改变磁盘根目录 6,fdisk -l /dev/sda 使用fdisk检查分区 7,grub-install /dev/sda 安装grub引导程序到磁盘/dev/sda的MBR扇区 8,exit centos 7的安装修复方式 [size=1em]1
[size=1em]2
[size=1em]3
[size=1em]4
| [size=1em][size=1em]sh 3.1#grub
[size=1em]grub>root(hd0,0)
[size=1em]grub>setup(hd0)
[size=1em]grub>quit
|
GRUB启动故障排除案例解决方法1. MBR中grub损坏,1_5阶段的数据损坏,2阶段的grub损坏 解决办法,就是救援模式,chroot /mnt/sysimage 改变磁盘根目录 grub-install /dev/sda 安装grub引导程序到磁盘/dev/sda的MBR扇区 2. initramfs*.img文件损坏,内核文件损坏
initramfs*.img文件损坏 解决办法 chroot=/mnt/sysimage
mkinitrd /boot/initramfs-`uname -r`.img `uname -r`
内核文件损坏 [size=1em]然后挂载光盘至/mnt目录下, 进入/mnt/Packages/目录下覆盖安装kernel包,
rpm -ivh–replacepkgs kernel-VERSION.rpm –root=/mnt/sysimage –force 安装完成后会在/boot目录下自动生成相应版本的vmlinuz文件.
(前提是内核版本未更新, 和光盘中的内核版本一致)
3. /boot/grub/grub.conf文件丢失
这个新建一个写上引导等信息就行
4. /etc/fstab丢失,无法挂载根等文件系统
同样新建一个/etc/fatab、填写上挂载信息
lvm 的话需要激活lvm逻辑卷
5. /boot 目录全部的文件丢失
结合上面,先MBR修复,然后内核文件修复和initramfs*.img文件 修复
|