破解Linux系统root用户密码

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的密码已被重置成功,尝试重新登录。

原文发布于微信公众号 - 马哥Linux运维(magedu-Linux)

原文发表时间:2017-02-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏老马寒门IT

CentOS搭建Git服务器及权限管理

声明:本教程,仅作为配置的记录,细节不展开,需要您有一点linux的命令基础,仅作为配置参考。 1. 系统环境 系统: Linux:CentOS 7.2 64位...

76750
来自专栏王二麻子IT技术交流园地

Linux服务器上安装vsftpd

1、首先判断你服务器上是否安装了vsftpd rpm -q vsftpd 2、安装vsftpd yum -y install vsftpd 3、重启vsftpd...

53790
来自专栏linux运维学习

linux学习第九篇:特殊权限set_uid,set_gid,stick_bit以及软连接文件,硬链接文件

特殊权限set_uid 权限s即为set_uid(给一个文件设置set_uid权限的前提是这个文件是二进制可执行文件) [root@xie-02 ~]# ls ...

20180
来自专栏五毛程序员

thymeltesys-基于Spring Boot Oauth2的扫码登录框架

414100
来自专栏我的博客

最小化安装Centos6.0搭建LAMP优化配置

1、增加管理用户 useradd -d /var/www/html/ -g apache admin 2、修改admin密码 Passwd admin输入ad...

31540
来自专栏散尽浮华

linux下查询域名或IP注册信息的操作记录(whois)

在运维工作中,有时需要查询某些域名的注册信息(域名的NS,注册用户,注册邮箱等),可以使用whois这个命令。 whois命令令用来查找并显示指定帐号(或域名)...

36390
来自专栏游戏杂谈

AIR切换SDK版本时遇到的问题

切换SDK,有时候会遇到这个问题。上面我使用的是sdk4.5,只需要修改应用程序的app.xml配置就可以正常运行air程序了。

10640
来自专栏前端开发

Linux硬盘分区,挂载,格式化,加到开机启动项

43750
来自专栏有困难要上,没有困难创造困难也要上!

Windows上使用cpau工具来切换用户执行命令

21120
来自专栏北京马哥教育

linux杂谈 :ftp的企业应用级配置

这次我们来讲解黑名单,白名单以及内网和外网的ftp的访问的不同设置。 1.黑名单 有的时候我们不想让某些本地用户登录,这个时候就要设置黑名单了,它在/etc/v...

33250

扫码关注云+社区

领取腾讯云代金券