破解CentOS7的root及加密grub修复实战
破解CentOS7的root及加密grub修复实战
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
一.破解CentOS7的root口令方案1
1>.启动时任意键暂停启动
2>.按e键进入编辑模式
3>.将光标移动linux16开始的行,添加内核参数rd.break(表示打断内核正常启动 )
4>.按ctrl-x启动
5>.mount –o remount,rw /sysroot(以只读的方式重新挂载)
6>.chroot /sysroot(切换到咱们硬盘上的根)
7>.passwd root
8>.touch /.autorelabel(如果selinux是开启的小伙伴这个步骤需要创建该文件,这样当操作系统下次重启启动时,针对每一个文件重新贴标签)
9>.exit
10>.reboot
二.破解CentOS7的root口令方案2
- >.启动时任意键暂停启动
- >.按e键进入编辑模式
- >.将光标移动linux16开始的行,改为rw init=/sysroot/bin/sh
- >.按ctrl-x启动
- >.chroot /sysroot
- >.passwd root
- >.touch /.autorelabel
- >.exit
- >.reboot
- 博主推荐阅读:
- https://www.cnblogs.com/yinzhengjie/p/7457286.html
三.加密grub口令实战
1>.设置grub的口令
- [root@node101.yinzhengjie.org.cn ~]# grub2-setpassword #自定义grub的密码
- Enter password:
- Confirm password:
- [root@node101.yinzhengjie.org.cn ~]#
- [root@node101.yinzhengjie.org.cn ~]# ll /boot/grub2/user.cfg #上面的命令执行成功后会自动生成该文件
- -rw-------. root root Dec : /boot/grub2/user.cfg
- [root@node101.yinzhengjie.org.cn ~]#
- [root@node101.yinzhengjie.org.cn ~]# date
- Sat Dec :: CST
- [root@node101.yinzhengjie.org.cn ~]#
- [root@node101.yinzhengjie.org.cn ~]# cat /boot/grub2/user.cfg #该文件内容是新生成的加密后的密码
- GRUB2_PASSWORD=grub.pbkdf2.sha512..96D036FA97EF7CFA389964AFA911EBE7754434DF0E10E30193ADDBC22E5258FF033DC45860508D73269F14A0B3845DB1D4E58FA305FAA198A4613877DF66634B.DDA
- 6CFC33EE04EE28D7FE4CD60F1F3E2F3E9D7291AA254FE1D642B48B6984EF6FCC0992A0F565C08962FB3DE62904D97B664FC84AB16B524B79607B8DC5BF2CF
[root@node101.yinzhengjie.org.cn ~]#- [root@node101.yinzhengjie.org.cn ~]#
2>.启动时任意键暂停启动
- [root@node101.yinzhengjie.org.cn ~]# reboot
- Connection closed by foreign host.
- Disconnected from remote host(node101.yinzhengjie.org.cn) at ::.
- Type `help' to learn how to use Xshell prompt.
- [c:\~]$
3>.按e键进入编辑模式
4>.输入咱们自定义的root密码
5>.密码输出成功才能进入编辑界面
5>.删除grub的密码
- [root@node101.yinzhengjie.org.cn ~]# ll /boot/grub2/user.cfg #用于保存grub加密的密码
- -rw-------. root root Dec : /boot/grub2/user.cfg
- [root@node101.yinzhengjie.org.cn ~]#
- [root@node101.yinzhengjie.org.cn ~]# rm -f /boot/grub2/user.cfg #删除该文件后密码grub加密就会自动失效啦~
- [root@node101.yinzhengjie.org.cn ~]#
四.修复grub实战案例
1>.模拟故障
- [root@node101.yinzhengjie.org.cn ~]# ll /boot/
- total
- -rw-r--r--. root root Nov config-3.10.-.el7.x86_64
- drwx------. root root Nov efi
- drwxr-xr-x. root root Aug : grub
- drwx------. root root Dec : grub2
- -rw-------. root root Aug : initramfs--rescue-22848f95520c44db9caaa9661a12ef33.img
- -rw-------. root root Aug : initramfs-3.10.-.el7.x86_64.img
- -rw-------. root root Aug : initramfs-3.10.-.el7.x86_64kdump.img
- -rw-r--r--. root root Nov symvers-3.10.-.el7.x86_64.gz
- -rw-------. root root Nov System.map-3.10.-.el7.x86_64
- -rwxr-xr-x. root root Aug : vmlinuz--rescue-22848f95520c44db9caaa9661a12ef33
- -rwxr-xr-x. root root Nov vmlinuz-3.10.-.el7.x86_64
- [root@node101.yinzhengjie.org.cn ~]#
- [root@node101.yinzhengjie.org.cn ~]# rm -rf /boot/grub* #删除所有grub信息
- [root@node101.yinzhengjie.org.cn ~]#
- [root@node101.yinzhengjie.org.cn ~]# ll /boot/
- total
- -rw-r--r--. root root Nov config-3.10.-.el7.x86_64
- drwx------. root root Nov efi
- -rw-------. root root Aug : initramfs--rescue-22848f95520c44db9caaa9661a12ef33.img
- -rw-------. root root Aug : initramfs-3.10.-.el7.x86_64.img
- -rw-------. root root Aug : initramfs-3.10.-.el7.x86_64kdump.img
- -rw-r--r--. root root Nov symvers-3.10.-.el7.x86_64.gz
- -rw-------. root root Nov System.map-3.10.-.el7.x86_64
- -rwxr-xr-x. root root Aug : vmlinuz--rescue-22848f95520c44db9caaa9661a12ef33
- -rwxr-xr-x. root root Nov vmlinuz-3.10.-.el7.x86_64
- [root@node101.yinzhengjie.org.cn ~]#
- [root@node101.yinzhengjie.org.cn ~]#
- [root@node101.yinzhengjie.org.cn ~]# reboot #如下图所示,重启操作系统发现无法正常启动啦~
- Connection closed by foreign host.
- Disconnected from remote host(node101.yinzhengjie.org.cn) at ::.
- Type `help' to learn how to use Xshell prompt.
- [c:\~]$
2>.使用光盘启动并选择"Troubleshooting"
3>.选择第二项"Rescue a CentOS system"
4>.选择继续,输入"1"
5>.切根并安装grub
6>.使用grub2-mkconfig命令生成/boot/grub2/grub.cfg配置文件(注意,如果该步骤执行失败,你得考虑内核文件是否也被删除啦?解决方案就是使用rpm命令来安装kernel(https://www.cnblogs.com/yinzhengjie/p/11921248.html)相关的软件包后再执行该命令,之前我们已经再演示过来,这里就不重复啦~)
7>.退出根环境并重启
8>.操作系统启动成功啦~
破解CentOS7的root及加密grub修复实战的更多相关文章
- CentOS7 Linux中通过加密grub防止黑客通过单用户系统破解root密码
如何防止别人恶意通过单用户系统破解root密码,进入系统窃取数据? 给grub加密,不让别人通过grub进入单用户. 17.3.1 基于centos6进行grub加密 [root@63 ~]# gr ...
- 加密grub防止通过单用户模式破解root密码
(1).CentOS6 1)产生加密密码 [root@CentOS6 ~]# grub-md5-crypt Password: Retype password: $1$QPduF0$FNhzDUPQP ...
- 实战-加密grub防止黑客通过单用户系统破解root密码
基于Centos8进行grub加密 加密grub 实战场景:给grub加密,不让别人通过grub进入单用户. 使用grub2-mkpasswd-pbkdf2创建密文 [root@localhost ~ ...
- CentOS7密码忘记解决方法&&GRUB菜单加密
CentOS7的root密码忘记怎么办 注意:该方法只适用于Linux7版本,可以用cat /redhat-release 查看 这里这里只介绍一种方法 1.启动的时候,在启动界面,相应启动项,内核名 ...
- centos单用户模式:修改ROOT密码和grub加密
centos单用户模式:修改ROOT密码和grub加密 CentOSLinux网络应用配置管理应用服务器 Linux 系统处于正常状态时,服务器主机开机(或重新启动)后,能够由系统引导器程序自动引导 ...
- 其它综合-CentOS7 忘记root密码
CentOS7 忘记root密码 长时间不用的 CentOS 机器再次开机的时候忽然忘记了密码,总不能就重装一台吧,还有好多服务在机器上,于是决定重置root的密码. 如果是已经开启的机器,需要进行关 ...
- RHEL6.5 grub修复测试
RHEL6.5 grub修复测试 1.删除系统中的grub.conf配置文件,然后重启系统#rm -f /boot/grub/grub.conf#reboot 2.重启后,系统进入到grub界面:gr ...
- CentOS7重新生成 /boot/grub2/grub.cfg
CentOS7重新生成 /boot/grub2/grub.cfg CentOS7 is using grub2 and the generated /boot/grub2/grub.cfg rathe ...
- centos7重置root密码
修改centos7的root密码重置非常简单,只需要登录系统,执行passwd按enter即可, 但是如果忘记root密码,该如何修改呢 1, 重启系统之后,系统启动进入欢迎界面,加载内核步骤时,选中 ...
随机推荐
- 关于nlp的一些探索
深度学习,知识图谱,nlp学习经历 获取信息来源:英文paper研读,吴恩达公开课,Hiton公开课,北大nlp教材,英文最新学术论文,中科院院士技术 ...
- 【cf补题记录】Codeforces Round #607 (Div. 2)
比赛传送门 这里推荐一位dalao的博客-- https://www.cnblogs.com/KisekiPurin2019/ A:字符串 B:贪心 A // https://codeforces.c ...
- golang 赋值与声明语法糖使用注意事项
赋值与声明语法糖 基本用法略, 搜索即可 注意事项 类型推断 := 会自动进行类型推断, 当想要的类型不是自己想要的类型时需要进行类型转换 // i1 默认是 int 类型 i1 := 1 // 当需 ...
- xshell 快速复制粘贴的方法
xshell快速复制粘贴的方法<img src="http://newmiracle.cn/wp-content/uploads/2017/01/QQ截图20170113163139- ...
- mongodb compass 启动报错()
报错: 原因:由于直接关闭客户端,进程没关导致下次开启时,后台还是运行的所以无法重新开启 解决办法: 1.查看进程 tasklist | findstr “MongoDBCompass.exe” 2. ...
- Thinkphp中的系统变量
Action中使用的系统常量 THINK_PATH // ThinkPHP 系统目录 APP_PATH // 当前项目目录 APP_NAME // 当前项目名称 MODULE_NAME //当前模块名 ...
- Lua table的remove函数
[1]remove函数简介 table.remove(table, pos): 返回table数组中位于pos位置的元素,其后的元素会被前移. pos参数可选, 默认为table长度, 即从最后一个元 ...
- golang --- map如何判断key是否存在
判断方式为value,ok := map[key], ok为true则存在 package main import "fmt" func main() { demo := map[ ...
- java中什么是接口
一.什么是接口 接口就是一个规范,类似于硬件上面的接口,在电脑主板上的PCI插槽的规范就类似于Java接口,只要是遵循PCI接口的卡,不过是什么牌子的都可以插入到PCI插槽中.所以接口就是一个规范.接 ...
- Google Chrome 浏览器JS无法更新解决办法
JS无法更新原因: 浏览器为了加载快,默认是按照自定规则更新缓存,非实时更新. 我们在开发的时候,JS变动很快,需要即时让浏览器加载最新文件,也就是禁用浏览器缓存 (1)使用F12进入开发者模式,找到 ...