CentOS 6.8 GRUB加密和破解密码实战指南
案例1:服务器在公共场合,为了防止随便有人进入单用户破解root密码,先对GRUB引导进行加密,为了更加安全对启动内核时也加密
1、编辑grub配置文件
[root@localhost~]#opensslpasswd-1//MD5加密转换 Password: Verifying-Password: $1$X8cVMw5v$AH0aUHVNix7Tx6wmHAXsf1 [root@localhost~]#vim/etc/grub.conf #grub.confgeneratedbyanaconda # #Notethatyoudonothavetorerungrubaftermakingchangestothisfile #NOTICE:Youhavea/bootpartition.Thismeansthat #allkernelandinitrdpathsarerelativeto/boot/,eg. #root(hd0,0) #kernel/vmlinuz-versionroroot=/dev/sda2 #initrd/initrd-[generic-]version.img #boot=/dev/sda default=0#设定默认启动菜单项,默认为0开始 timeout=5#指定菜单等待选择的时长 splashimage=(hd0,0)/grub/splash.xpm.gz#指定菜单的背景图片的路径,为xpm格式,采用gzip压缩 hiddenmenu#是否影藏菜单 password--md5$1$1S9Xy$1MuGZSoPc2vAtkW.jvz0X/#菜单编辑认证 titleCentOS6(2.6.32-642.el6.x86_64)#定义菜单项 password123456#可以选择明文 root(hd0,0)#本次grub查找stage2及其kernel文件所在设备分区,指定grub的根 kernel/vmlinuz-2.6.32-642.el6.x86_64roroot=UUID=240533cf-b37f-4460-974f-702bab867da5nomodesetrd_NO_LUKSKEYBOARDTYPE=pcKEYTABLE=usrd_NO_MDcrashkernel=autoLANG=zh_CN.UTF-8rd_NO_LVMrd_NO_DMrhgbquiet#需要启动的内核 initrd/initramfs-2.6.32-642.el6.x86_64.img#内核匹配的ramfs文件
2、现在开始重启,当启动时候进入GRUB
//现在看下已经没有直接E可以编辑的指令了,让你按P输入密码才能进行操作
3、当我们进行对内核进行编辑,进入单用户,然后看是否能进入内核(需要输入密码,这个密码使我们配置文件的第二个明文的密码)
案例2:我们自己忘了root密码了,,上面已经介绍进入单用户模式了,进入单用户后,直接执行passwd更改root密码,然后重启
[root@localhost/]#reboot
案例3:GRUB密码忘了怎么办
用光盘救援模式清楚GRUB密码
1,用光盘启动,在安装界面选择 Rescue installed system 进入救援模式
3,选择是否配置网卡,选择no
4,根据硬盘上的系统提示已经找到并挂载在/mnt/sysimage下,continue用读写模式加载
5,输入 chroot /mnt/sysimage 改变磁盘根目录
6,然后vi /etc/grub.conf把密码的行删除,然后exit退出,reboot重启
现在启动看下是否还需要密码
已经可以正常进入系统了,不需要密码了
问题来了
案例4:如果grub被破坏了导致系统无法启动该怎么办???
通过光盘进入紧急救援模式来进行修复
1,用关盘启动,在安装界面选择 Rescue installed system 进入救援模式
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的安装修复方式
sh3.1#grub grub>root(hd0,0) grub>setup(hd0) grub>quit