开发者社区> 技术小阿哥> 正文

CentOS 6.8 GRUB加密-修复和破解密码实战指南

简介:
+关注继续查看

    CentOS 6.8 GRUB加密和破解密码实战指南


案例1:服务器在公共场合,为了防止随便有人进入单用户破解root密码,先对GRUB引导进行加密,为了更加安全对启动内核时也加密

1、编辑grub配置文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[root@localhost ~]# openssl passwd -1    //MD5加密转换
Password: 
Verifying - Password: 
$1$X8cVMw5v$AH0aUHVNix7Tx6wmHAXsf1
[root@localhost ~]# vim /etc/grub.conf
# grub.conf generated by anaconda 
# Note that you do not have to rerun grub after making changes to this file 
# NOTICE:  You have a /boot partition.  This means that 
#          all kernel and initrd paths are relative to /boot/, eg. 
#          root (hd0,0) 
#          kernel /vmlinuz-version ro root=/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/ #菜单编辑认证 
title CentOS 6 (2.6.32-642.el6.x86_64) #定义菜单项 
password 123456 #可以选择明文 
    root (hd0,0) #本次grub查找stage2及其kernel文件所在设备分区,指定grub的根 
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 #需要启动的内核  
initrd /initramfs-2.6.32-642.el6.x86_64.img #内核匹配的ramfs文件

2、现在开始重启,当启动时候进入GRUB

wKioL1fWDnTA15hRAABtzrBo0nI822.gif

//现在看下已经没有直接E可以编辑的指令了,让你按P输入密码才能进行操作

3、当我们进行对内核进行编辑,进入单用户,然后看是否能进入内核(需要输入密码,这个密码使我们配置文件的第二个明文的密码)

wKiom1fWDt2A5csFAAEksDMLbfQ974.gif

案例2:我们自己忘了root密码了,,上面已经介绍进入单用户模式了,进入单用户后,直接执行passwd更改root密码,然后重启

wKioL1fWEBLz3iW0AAAPc788HRw566.png

1
[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重启

wKiom1fWEjLC60c3AABrN69Rllc552.gif

现在启动看下是否还需要密码

wKiom1fWEt7j-DXcAAEWWDx6cBc166.gif

已经可以正常进入系统了,不需要密码了


问题来了

案例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的安装修复方式

1
2
3
4
sh 3.1#grub
grub>root(hd0,0)
grub>setup(hd0)
grub>quit

补充2016年9月13日

GRUB启动故障排除案例

  1. MBR中grub损坏,1_5阶段的数据损坏,2阶段的grub损坏

  2. initramfs*.img文件损坏,内核文件损坏

  3. /boot/grub/grub.conf文件丢失

  4. /etc/fstab丢失,无法挂载根等文件系统

  5. /boot 目录全部的文件丢失

解决方法

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`

内核文件损坏

然后挂载光盘至/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文件 修复

本文转自 好笔记运维 51CTO博客,原文链接:http://blog.51cto.com/zhang789/1851885,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Centos 8系统Mysql 8修改root密码
Centos 8系统Mysql 8修改root密码
199 0
重置Linux的centos系列操作系统的root密码
重置Linux的centos系列操作系统的root密码
100 0
五分钟学会虚拟机centos 7忘记root密码如何解决(你想要什么,不要等人送)
五分钟学会虚拟机centos 7忘记root密码如何解决(你想要什么,不要等人送)
91 0
Centos 7如何修改密码
修改CentOS7 ROOT密码非常简单,只需登录系统,执行命令passwd回车即可,但是如果忘记ROOT,无法登录系统,该如何去重置ROOT用户的密码呢?
464 0
【MySQL】在Centos上如何修改密码
【MySQL】在Centos上如何修改密码
38 0
在Ubuntu 和 CentOS 中不用密码运行sudo命令
通常,不建议所有没有权限的用户在没有密码的情况下运行 sudo。建议您创建一个新的 sudoers 文件并单独分配命令必须运行没有密码的 sudo 命令!
291 0
【Cloud】修改CentOS官方 云镜像的ROOT密码
在私有云平台使用中,去CentOS官网下载qcow2格式的镜像,发现运行之后不知道密码无法进入系统。现在提供两种修改or注入密码的方法
2725 0
RHEL/CentOS 8加密引导菜单防破解root密码
RHEL/CentOS 8加密引导菜单防破解root密码
611 0
Centos系统设置GRUB开机菜单的密码
大多数Linux发行版使用GRUB 2作为引导加载程序。GRUB 2 (GNU Grand Unified Boot loader)是GNU项目中的一个引导加载程序包。
352 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
CentOS Nginx PHP JAVA 多语言镜像使用手
立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册
立即下载
低代码开发师(初级)实战教程
立即下载