破解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>.操作系统启动成功啦~