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

时间: 2024-12-27 10:14:58

破解Linux系统root用户密码的相关文章

Linux重置root用户密码

忘记密码.是常事儿!怎么改?往下看!! Linux 最大权限的 root用户密码忘记了?咋么办.重做系统?当然,可以这样子!!!但是在生产环境中.......行么?答案:no(随带提一句:就算是在学习过程中,建议您也按照生产环境来玩(Linux) 初学Linux,root密码忘记了,第一次玩!! ----------------------------------------------------------------------------------------- 操作步骤: 重启Lin

Centos6.6系统root用户密码恢复案例

1.重新启动主机后,在出现Grub菜单时按上下键取消倒计时 2.进入到内核引导界面按e键如下所示: 3.将鼠标定位到Kernel这一行按e键 4.在行尾输入"single"也可以换成字母"s"或者数字"1"都表示进入单用户模式,然后回车. 5.按b键将系统引导进入单用户模式,不需要密码即直接进入shell环境. 6.在单用户下,直接运行"passwd root"命令重新设置root用户密码即可!(或者直接修改/etc/shad

Centos6.6系统root用户密码恢复案例(转)

原文:http://www.centoscn.com/CentOS/Intermediate/2015/0131/4604.html 通过单用户模式恢复root用户密码 重新启动主机后,在出现Grub菜单时按上下键取消倒计时 进入到内核引导界面按e键如下所示: 将鼠标定位到Kernel这一行按e键 在行尾输入”single”也可以换成字母”s”或者数字”1”都表示进入单用户模式,然后回车. 按b键将系统引导进入单用户模式,不需要密码即直接进入shell环境. 在单用户下,直接运行”passwd 

mysql-8.0.16-winx64/Linux修改root用户密码

连接数据库等基础操作请自行解决哈,本篇是重点记录如何改密码. 一.查询用户密码: 查询用户密码命令: select host, user, authentication_string from mysql.user ; host:允许用户登录的ip‘位置'%表示可以远程: user:当前数据库的用户名: authentication_string:用户密码(后面有提到此字段): 二. 设置(或修改)用户密码: 默认root密码为空的话 ,下面使用navicat就无法连接(之前我装的5.7好像还可

Linux系统root用户忘记密码解决办法

一.centos6 root用户忘记密码解决办法 1.grub未加密(知道grub密码)root密码找回办法: (1)重启系统,在系统等待时间按任意键进入如图一所示界面 图一 (2)在图一所示界面中按"e"键进入如图二所示界面 图二 (3)在图二所示的界面中选择第二项,并按"e"进入图三所示界面 图三 (4)在图三所示的界面中quite后面加参数single或者数字1,按回车回到图二所示的界面,选择第二项,按"b"进入系统,此时,进入系统不需要密

2、linux系统root用户忘记密码后的重置方式

1.重新启动linux之后到此界面按空格暂停,之后按E进入. 2.找到UTF-8,在后面空格后输入init=/bin/sh  然后CHRL+X启动. 3.进入到这个界面,输入mount -o remount,rw /   4.输入passwd..然后输入新密码.回车.重复输入一次密码,回车.完成 5.完成之后点击电源重启客户机. 6.重启过后输入root用户后,就可以用修改后的密码进行登录.

Linux中Root用户密码变更、密码忘记

用户设置bash的时候,错把root的bash改为bin/bash,注意,不是“/bin/bash”!. 然后就登录不了root了,也修改不了/etc/passwd了. 解决: 1.重启Ubuntu,随即长按shift进入grub菜单: 2.选择recovery mode,即Ubuntu,With Linux 3.2.0-23-generic(recovery mode),按e,编辑启动参数: 3.把ro recovery nomodeset 改成rw single init=/bin/bash

解决Linux系统root用户登陆失败,提示“鉴定故障”

前提: 遇到在Linux系统下root用户登陆失败的情况,并提示“鉴定故障” [[email protected] ~]$ su 密码: su: 鉴定故障 [[email protected] ~]$ 步骤: 一.重启系统解决,因方法较为繁琐,本文重点推荐第二的方法,想了解的请点击 https://www.cnblogs.com/lippor/p/5537931.html 二.使用普通用用户sudo重置root密码(推荐) 1.用普通用户登陆,输入普通密码: $ sudo passwd root

linux系统root用户忘记密码的重置方法

如何重置CentOS 7的root密码 重置Centos 7 Root密码的方式和Centos 6完全不同.让我来展示一下到底如何操作. 1.在启动grub菜单,选择编辑选项启动: 2.按键盘e键,来进入编辑界面: 3.找到Linux 16的那一行,将ro改为rw init=/sysroot/bin/sh 4.现在按下 Control+x ,使用单用户模式启动: 5.现在,可以使用下面的命令访问系统: chroot   /sysroot 6.重置密码:(根据提示输入) passwd  root