CentOS 6.8 GRUB加密-修复和破解密码实战指南
CentOS 6.8 GRUB加密和破解密码实战指南
案例1:服务器在公共场合,为了防止随便有人进入单用户破解root密码,先对GRUB引导进行加密,为了更加安全对启动内核时也加密
1、编辑grub配置文件
[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 #指定菜单等待选择的时长 splashp_w_picpath=(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
//现在看下已经没有直接E可以编辑的指令了,让你按P输入密码才能进行操作
3、当我们进行对内核进行编辑,进入单用户,然后看是否能进入内核(需要输入密码,这个密码使我们配置文件的第二个明文的密码)
案例2:我们自己忘了root密码了,,上面已经介绍进入单用户模式了,进入单用户后,直接执行passwd更改root密码,然后重启
[root@localhost /]# reboot
案例3:GRUB密码忘了怎么办
用光盘救援模式清楚GRUB密码
1,用光盘启动,在安装界面选择 Rescue installed system 进入救援模式
2,根据提示选择语言和键盘
3,选择是否配置网卡,选择no
4,根据硬盘上的系统提示已经找到并挂载在/mnt/sysp_w_picpath下,continue用读写模式加载
5,输入 chroot /mnt/sysp_w_picpath 改变磁盘根目录
6,然后vi /etc/grub.conf把密码的行删除,然后exit退出,reboot重启
现在启动看下是否还需要密码
已经可以正常进入系统了,不需要密码了
问题来了
案例4:如果grub被破坏了导致系统无法启动该怎么办???
通过光盘进入紧急救援模式来进行修复
1,用关盘启动,在安装界面选择 Rescue installed system 进入救援模式
2,根据提示选择语言和键盘
3,选择是否配置网卡,选择no
4,根据硬盘上的系统提示已经找到并挂载在/mnt/sysp_w_picpath下,continue用读写模式加载
5,输入 chroot /mnt/sysp_w_picpath 改变磁盘根目录
6,fdisk -l /dev/sda 使用fdisk检查分区
7,grub-install /dev/sda 安装grub引导程序到磁盘/dev/sda的MBR扇区
8,exit
centos 7的安装修复方式
sh 3.1#grub grub>root(hd0,0) grub>setup(hd0) grub>quit
补充2016年9月13日
GRUB启动故障排除案例
MBR中grub损坏,1_5阶段的数据损坏,2阶段的grub损坏
initramfs*.img文件损坏,内核文件损坏
/boot/grub/grub.conf文件丢失
/etc/fstab丢失,无法挂载根等文件系统
/boot 目录全部的文件丢失
解决方法
1. MBR中grub损坏,1_5阶段的数据损坏,2阶段的grub损坏
解决办法,就是救援模式,chroot /mnt/sysp_w_picpath 改变磁盘根目录 grub-install /dev/sda 安装grub引导程序到磁盘/dev/sda的MBR扇区
2. initramfs*.img文件损坏,内核文件损坏
initramfs*.img文件损坏 解决办法
chroot=/mnt/sysp_w_picpath
mkinitrd /boot/initramfs-`uname -r`.img `uname -r`
内核文件损坏
然后挂载光盘至/mnt目录下, 进入/mnt/Packages/目录下覆盖安装kernel包,
rpm -ivh–replacepkgs kernel-VERSION.rpm –root=/mnt/sysp_w_picpath –force 安装完成后会在/boot目录下自动生成相应版本的vmlinuz文件.
(前提是内核版本未更新, 和光盘中的内核版本一致)
3. /boot/grub/grub.conf文件丢失
这个新建一个写上引导等信息就行
4. /etc/fstab丢失,无法挂载根等文件系统
同样新建一个/etc/fatab、填写上挂载信息
lvm 的话需要激活lvm逻辑卷
5. /boot 目录全部的文件丢失
结合上面,先MBR修复,然后内核文件修复和initramfs*.img文件 修复

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Linux网络管理(7)centos7中team组的实现
Linux网络管理(7)centos7中team组的实现 在linux 中,centos7之前都是使用bond机制来实现多网络绑定同一个IP地址,来对网络提供访问,并按不同的模式来负载均衡或者轮回接替管理处理数据。而到了contos7之后,提供了一种强大的工具,nmcli工具命令,使用此工具,将会根据命令参数的配置来重新生成特定的配置文件来供网络接口使用,方便而又灵活。在linux不再使用 bond机制定义,而是使用网路组 team 机制,把 team组当作一个设备。下面通过案例说。 主备模式team组案例: 环境查看: 这里在VM虚拟机中操作linux系统 #这里使用了3.10的linux内核 [root@mzf ~]# uname -r 3.10.0-327.el7.x86_64 #使用CentOS 7.2 发行版 [root@mzf ~]# cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) 查看网卡: [root@mzf ~]# ip -o link show up | awk -F': ' '{print...
- 下一篇
解决configure: error: Popt libraries is required简单报错笔记!
问题: 编译keepalived时报 configure: error: Popt libraries is required 问题原因: 这个错误是因为没有安装popt的开发包导致的 解决方式: 只要yum install popt-devel, 就可以安装好popt的开发包了。 重新./configure 总结:一般编译报错是缺少依赖包或者找不到一些东西,安装指定包或者做相应软链接即可! 注意事项:yum安装比较简单,但是卸载时候要注意依赖环境。编译安装比较灵活,但是麻烦。具体需求个人而定。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS关闭SELinux安全模块
- CentOS8编译安装MySQL8.0.19
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8安装Docker,最新的服务器搭配容器使用