破解Linux系统root用户密码
- linux系统的启动过程
在介绍破解Linux系统root密码之前先了解一下linux系统的启动过程
开机自检(POST),初始化部分硬件
搜素可用于引导的启动设备(如磁盘的MBR)
读取并将控制权交给系统启动加载器(grub2)
启动加载器加载器配置,显示可用配置菜单
启动加载器加载内核及initramfs,置入内存
启动加载器将控制权交给内核
由内核查找initramfs中的硬件驱动,作为PID=1从initramfs执行/sbin/init
(在RHEL7中,为systemd,并包含udev守护进程
Systemd执行initrd.target的所有单元(包含将文件系统挂载到/sysroot)
内核root文件系统从initramfsroot文件系统切换到/sysroot上的系统root文件系统
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系统root用户密码的更多相关文章
- 如何重置硬盘遭到“损坏”的Linux系统root用户密码
传统印象下Linux是非常坚不可摧的,具有千年不更新,万年不重启的美名.而随着虚拟化的推进,很多跑在虚拟化上的Linux由于先前基础架构的脆弱,变得适应性“越来越不好”,体现在IP存储如果出现节点故障 ...
- Linux系统root用户忘记密码解决方法
一:在linux系统启动时(如下图),按e键 二:进入到设置页面,定位到如下行: 三:按e键,进入输入界面 四:在编辑行最后面,空格,输入single,回车后回到第二步界面,只是后面多了single ...
- 【Linux】Linux 找回Root用户密码
Root密码破解 Linux 忘记Root密码 ? 技术学习基本原则:不作恶 一.破解步骤 1.在系统启动时进入grub选项菜单 2.在grub选项菜单按e进入编辑模式 3.编辑kernel那行添加/ ...
- Centos6.6系统root用户密码恢复案例
1.重新启动主机后,在出现Grub菜单时按上下键取消倒计时 2.进入到内核引导界面按e键如下所示: 3.将鼠标定位到Kernel这一行按e键 4.在行尾输入”single”也可以换成字母”s”或者数字 ...
- Centos6.6系统root用户密码恢复案例(转)
原文:http://www.centoscn.com/CentOS/Intermediate/2015/0131/4604.html 通过单用户模式恢复root用户密码 重新启动主机后,在出现Grub ...
- mysql-8.0.16-winx64/Linux修改root用户密码
连接数据库等基础操作请自行解决哈,本篇是重点记录如何改密码. 一.查询用户密码: 查询用户密码命令: select host, user, authentication_string from mys ...
- Linux中Root用户密码变更、密码忘记
用户设置bash的时候,错把root的bash改为bin/bash,注意,不是“/bin/bash”!. 然后就登录不了root了,也修改不了/etc/passwd了. 解决: 1.重启Ubuntu, ...
- linux系统root用户登录提示“鉴定故障”的解决办法
同事第一次创建虚拟机,遇到此问题,此前我未曾遇到,搜索到的解决办法记录在此,以防之后忘记. 一.重启系统解决(搜索到的该解决办法较多):https://www.cnblogs.com/lippor/p ...
- linux系统root用户忘记密码的重置方法
如果不小心忘记了新安装的lCentOS7的root密码,现在将找回过程分享给大家. 1.首先,在启动grub菜单,选择编辑选项启动: 2.然后,按e 进入编辑模式: 3.将'linux 16'行'ro ...
随机推荐
- redhat7.0安装ifconfig
问题描述: Setup is unable to find the "ifconfig" program on your machine. Please make sure it ...
- 【TP3.2】TP3.2下实现ajax分页(原创+亲测可用)
一,写在最开始:ajax分页的原理,是利用了js的ajax执行请求,获取分页list和分页page [代码块],去替换页面显示数据的[代码块] 技术:js的ajax + TP3.2的fetch(&qu ...
- “医疗信息化行业之中的联发科”- 我们在医疗行业中的定位及目标 想做一个面对中小企业的专业上游软件供应商 台湾联发科技颠覆掉的是一个封闭的手机产业系统 解决方案,即AgileHIS.NET数字化医院基础方案
“医疗信息化行业之中的联发科”- 我们在医疗行业中的定位及目标 我们做中国医疗信息化行业之中的联发科 ---我们在医疗行业中的定位及目标 从我个人来讲,我从2001年到现在这10年之间基本上一直在 ...
- Java用JSONObject-lib来解析json串
直接贴代码:(所需jar包:json-lib.jar,可能会关联一些其它的jar包,请自行搜索.) import java.util.ArrayList; import java.util.HashM ...
- Sketch 使用中文字体
对于刚接触 Sketch 的人来说,在找字体方面,可能不是那么顺手.之前用 RightFont,后来收费了.. 今天介绍个只有长得好看的人才能发现的功能.无需插件即可选择中文字体. 不信,你看: Sk ...
- java.lang.IllegalStateException: No typehandler found for mapping XXX
前言:今天遇到了这个问题,刚开始觉得很容易解决的,毕竟能定位到出问题的文件和对应的字段,根据以往的经验也可以判断出是字段映射类型不匹配的问题,后来找了半天还是没找到问题的根源,从网上百度,也没看到令人 ...
- 我所经历的企业中IT部门在企业内部的地位
本月参加了一个ITIL的培训,从培训中了解很多关于企业信息化及系统业务运维的知识和方法论.通过这次培训并结合自己近6年的IT 工作经历,明白了以前很多不明白的道理. 先说说自己经历的几家公司吧,我属于 ...
- OpenCV 学习笔记03 threshold函数
opencv-python 4.0.1 简介:该函数是对数组中的每一个元素(each array element)应用固定级别阈值(Applies a fixed-level threshold) ...
- 一步一步掌握线程机制(六)---Atomic变量和Thread局部变量
前面我们已经讲过如何让对象具有Thread安全性,让它们能够在同一时间在两个或以上的Thread中使用.Thread的安全性在多线程设计中非常重要,因为race condition是非常难以重现和修正 ...
- Android面试之HashMap的实现原理
1.HashMap与HashTable的区别 HashMap允许key和value为null: HashMap是非同步的,线程不安全,也可以通过Collections.synchronizedMap( ...