破解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
1>.启动时任意键暂停启动 2>.按e键进入编辑模式 3>.将光标移动linux16开始的行,改为rw init=/sysroot/bin/sh 4>.按ctrl-x启动 5>.chroot /sysroot 6>.passwd root 7>.touch /.autorelabel 8>.exit 9>.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-------. 1 root root 298 Dec 7 20:01 /boot/grub2/user.cfg [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# date Sat Dec 7 20:02:14 CST 2019 [root@node101.yinzhengjie.org.cn ~]# [root@node101.yinzhengjie.org.cn ~]# cat /boot/grub2/user.cfg #该文件内容是新生成的加密后的密码 GRUB2_PASSWORD=grub.pbkdf2.sha512.10000.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 20:20:02. 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-------. 1 root root 298 Dec 7 20:01 /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 133764 -rw-r--r--. 1 root root 151918 Nov 9 2018 config-3.10.0-957.el7.x86_64 drwx------. 3 root root 17 Nov 9 2018 efi drwxr-xr-x. 2 root root 27 Aug 1 21:59 grub drwx------. 5 root root 113 Dec 7 20:23 grub2 -rw-------. 1 root root 74027984 Aug 1 22:03 initramfs-0-rescue-22848f95520c44db9caaa9661a12ef33.img -rw-------. 1 root root 31964407 Aug 1 22:05 initramfs-3.10.0-957.el7.x86_64.img -rw-------. 1 root root 13669159 Aug 1 22:15 initramfs-3.10.0-957.el7.x86_64kdump.img -rw-r--r--. 1 root root 314036 Nov 9 2018 symvers-3.10.0-957.el7.x86_64.gz -rw-------. 1 root root 3543471 Nov 9 2018 System.map-3.10.0-957.el7.x86_64 -rwxr-xr-x. 1 root root 6639904 Aug 1 22:03 vmlinuz-0-rescue-22848f95520c44db9caaa9661a12ef33 -rwxr-xr-x. 1 root root 6639904 Nov 9 2018 vmlinuz-3.10.0-957.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 133764 -rw-r--r--. 1 root root 151918 Nov 9 2018 config-3.10.0-957.el7.x86_64 drwx------. 3 root root 17 Nov 9 2018 efi -rw-------. 1 root root 74027984 Aug 1 22:03 initramfs-0-rescue-22848f95520c44db9caaa9661a12ef33.img -rw-------. 1 root root 31964407 Aug 1 22:05 initramfs-3.10.0-957.el7.x86_64.img -rw-------. 1 root root 13669159 Aug 1 22:15 initramfs-3.10.0-957.el7.x86_64kdump.img -rw-r--r--. 1 root root 314036 Nov 9 2018 symvers-3.10.0-957.el7.x86_64.gz -rw-------. 1 root root 3543471 Nov 9 2018 System.map-3.10.0-957.el7.x86_64 -rwxr-xr-x. 1 root root 6639904 Aug 1 22:03 vmlinuz-0-rescue-22848f95520c44db9caaa9661a12ef33 -rwxr-xr-x. 1 root root 6639904 Nov 9 2018 vmlinuz-3.10.0-957.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 21:38:58. 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>.操作系统启动成功啦~