前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >破解Linux系统root用户密码

破解Linux系统root用户密码

作者头像
小小科
发布2018-05-04 16:13:44
14.5K0
发布2018-05-04 16:13:44
举报
文章被收录于专栏:北京马哥教育北京马哥教育

linux系统的启动过程

在介绍破解Linux系统root密码之前先了解一下linux系统的启动过程:

1 开机自检(POST),初始化部分硬件

2 搜素可用于引导的启动设备(如磁盘的MBR)

3 读取并将控制权交给系统启动加载器(grub2)

4 启动加载器加载器配置,显示可用配置菜单

5 启动加载器加载内核及initramfs,置入内存

6 启动加载器将控制权交给内核

7 由内核查找initramfs中的硬件驱动,作为PID=1从initramfs执行/sbin/init

(在RHEL7中,为systemd,并包含udev守护进程

8 Systemd执行initrd.target的所有单元(包含将文件系统挂载到/sysroot)

9 内核root文件系统从initramfsroot文件系统切换到/sysroot上的系统root文件系统

10 Systemd查找默认目标(target),然后启动该target的所有单元

其中,以上第10步的”Systemd查找默认目标(target),然后启动该target的所有单元“中的target指的是如下启动加载单元:

破解Linux系统root用户密码

破解root密码的大致思路为,linux系统启动时会加载Initramfs文件系统,而Initramfs文件系统其实就是压缩的仅包含开机引导所必须的一小部分系统命令,在我们进入磁盘系统之前会有系统启动加载器grub2来加载内核和Initramfs文件系统,因为磁盘系统的root密码忘记了,所以我们必须修改步骤3的启动部分,告诉系统加载完内核后就停止,让我们进入Initramfs文件系统进行相关操作。

当我们进入到initramfs文件系统后,因为当前的/sysroot为只读挂载,而重置passwd的话肯定需要写入权限,所以我们需要重新以写入权限挂载。最后切换根目录为/sysroot目录后在使用passwd命令就是对我们的磁盘系统进行密码重置了,具体操作如下:

实验环境:在Linux系统上通过KVM安装了一个rhel7系统,针对该虚拟机中的系统进行root密码破解。

1.设置系统的root密码为一个任意值,模拟你不知道root密码的情况

2.现在开始进入破解,在上一步结束后重启系统,在启动选单中(以下截图页面)按下"e"键

进入编辑页面

3.修改linux16行中的ro以后的部分内容(就是红色线标记的部分),然后替换为rd.break

变更为如下所示,然后ctrl+x保存,继续下一步

4.然后进入到initramfs文件系统,重新挂载/sysroot,使用rw方式进行挂载

5.使用chroot命令,将shell切换到/sysroot下

6.此时使用passwd命令,将密码修改成你要修改的密码即可。最后创建/.autorelabel文件,告诉SELinux重新进行文件标记

7.连续两个exit,退出并重启系统

8. 至此,root的密码已被重置成功,尝试重新登录。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-02-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 马哥Linux运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档