Linux下破解root用户密码

2023-11-16

目录

一、密码破解(Centos7)

二、grub2引导菜单加密


linux下破解root密码

一、密码破解(Centos7)

通过进入单用户模式修改内核参数来进行修改密码

步骤:

(官方推荐方法)

  • rd.break

    • 以只读的方式,终止

  • 以可读写的方式挂载根分区

    • mount -o remount,rw /sysroot

  • 切换根分区

    • chroot /sysroot

  • 修改密码

    • passwd root

  • 策略放行

    • 为了让 SELinux 生效

    • SELinux 它是一个安全增强系统, 其内部有许多安全策略

    • 针对一些操作, 如果你做了这些操作, 没有得到策略的放行, 它会给你禁止掉

    • 比如你使用单用修改root密码是不被策略放行的

    • 怎么让 SELinux 策略放行呢?、

    • "touch /.autorelabel" 创建这样一个文件其实就是在告诉SELinux放行这个策略,就是通知一下

      直接关闭掉 SELinux

 使用getenfore是用来查询SElinux策略内各项规则
 查询结果如果是Enforcing或者Permissive就必须执行touch /.autorelabel此命令来让selinux生效
 如果是disable就可以不用执行touch /.autorelabel

d2f9e444cb42a084b50fc1c83b14cc9b.png

具体操作流程:

进入系统之前,按下e进入编辑模式

fc02edaf7c20d2b32c3ee1910b8fcaad.png

进入以后,接下来按住向下的方向键,向下找,找到这一行。

按end键跳到行尾,添加rd.break这条命令

8f804db03789ebcdce37df26c64fe0f7.png

然后按ctrl+x进入单用户模式

49d6053c020fc136f53f28d3f281f12d.png

进入单用户的命令行:

 mount | grep root 看一下根分区的挂载点
 mount -o remount,rw /sysroot 可读可写的方式挂载根分区

61d808c66f9de891fa9beb5d0801a5bb.png

 touch 有两层含义
 一:如果文件不存在则创建文件
 二:如果文件存在,则刷新修改时间

 之前通过getenforce查看时,状态为Enforcing,所以必须得执行touch /.autorelabel命令来进行策略放行,令selinux生效

9396ebc17e09a814a6db30f4789f06f9.png

 执行完touch /.autorelabel后,在执行两次exit
 第一次exit退出当前的根分区
 第二次退出救援模式回到引导模式

fc7db8523b17127d03182b2062458cc1.png

等待过后,以root身份再次登录,使用刚修改过得密码登录。

b7e9387261cdbc0c07ea7f5aba6f0f47.png

二、grub2引导菜单加密

 两种方式
 方式一:
 grub2-mkpasswd-pbkdf2进行设置密码,生成加密密码,然后修改/etc/grub2.d/00_header文件末尾追加,设置的用户可以是系统有的也可以是没有的,但用户一定要前后必须一致。然后进行刷新grub2配置文件
 方式二:
 grub2-setpasswd 进行设置密码
 此方法是以谁的名义进行登录,用户名就是谁,密码是自己

方式一:

1a9ab3ad2715bb265cb6207c960d8b16.png

2ee8222344ee6ee77fca2892f031ea34.png

5fc9a2adfc40a5ff214c7bc5196becc0.png

配置文件内容:

定位到文件的末尾,然后进行编辑

e1ed0a5f458248b807fbc276ab9b40bc.png

 cat << EOF
 set superusers='user'
 password_pbkdf2 user grub.pbkdf2.sha512.10000.8B33D9F34A3962AF5005D4D97E62CEEDE2260CE0C2B801193DC68675130B9334C16DDDA5699C3515BAD0B096912D5FA18CC7D74FD83EF8FFFF9A82D228E61939.24357CC4360FE590079985FA5CD20CAAC8996CFBB7A606C5DC6900172427050F0E83632D4B25B0965C6F7F66D0CBAED089521A01D601C427D8BE1F7E2380ECF6
 EOF

注意:前后的用户名要保持一致,否则会出现问题

ea65788ef603acccef9d9ba9add8b414.png

然后进行重启:

再次按e进入编辑

396c59ef01d43388e066f17493bad4dc.png

进入此界面,如果此时输入的不是刚刚设置的用户和密码,就会被T出来,无法进行密码修改

028443161fda3dd38cc3e9c524169c4b.png

只有输入刚刚设置的正确的用户和密码,才会进入编辑:

b3cc2082c2716f2e3db0e463fc74b0d0.png

敲回车以后,可以正常进入编辑状态:

a58e806b526101c29caa12934c406ca9.png

修改密码流程同以上一致。

方法二:

 通过grub2-setpasswd 指令来进行设置,生成加密密码
 此指令是结合root(超级用户)来进行设置,本身和超级用户没有什么关系。
 以谁的名义登录,谁就是用户名

流程:

d41c716e581e9af282a3cabff74012e6.png

查看目录下 的文件,进行前后对比一下。会发现多出了一个文件:

ea4157a97eb7febccb207bd6d2efd41c.png

查看此文件的内容:

18ed2a180e03ef218e9494a6233aada1.png

接下来重启即可。进行验证

 没有显示用户名,此时就是以谁的名义进行登录,用户名就是谁(以谁的名义执行,就是谁),密码是刚刚设置的密码,按e进入编辑界面,输入用户名和刚刚设置的密码即可进入
 如果输入错误的用户名和密码会被T出来

按e进入编辑界面:

dc34b6a07c66184827ccbe484e68fe8a.png

进入后:

c9837ea0ae766d12e192f74ebe19992f.png

输入错误的用户名(无论该用户存在或者不存在)敲回车后会被踢出:

回弹到加载界面:

6ac7bd8f305904f1ae78c4a9c23f4a53.png

再次进入,若以root身份进行登录,输入正确的密码,刚刚设置的:

4637a20ec9982f005845d57578a575bb.png

输入正确的密码后,可以正常进入到编辑界面:

a4b82ffaa6cd7f1a4eddcaedbc9c3d13.png

加密配置,验证完成。

修改密码流程同以上一致。

正常启动,正常进入

e2f5c6741a21ac2e654b95e7213620ce.png

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 配置:错误:无法运行C编译的程序

    我正在尝试使用 Debian Wheezy 操作系统在我的 Raspberry Pi 上安装不同的软件 当我运行尝试配置软件时 我尝试安装我得到此输出 checking for C compiler default output file
  • 推荐用于小型站点的 IRC 服务器 (ircd)? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 情况 我想使用 IRC 机器人作为我正在研究的其他代码的通用通信接口 服务器硬件陈旧且内存不足 但运行在相对最新的 Debian GNU
  • 从 Python 访问 802.11 无线管理帧

    我想从 Linux 上的 Python 嗅探 802 11 管理 探测请求 帧 这可以从 Scapy 中实现 如下所示 coding utf 8 from scapy all import def proc p if p haslayer
  • 从 php/linux 获取 pdf 的布局模式(横向或纵向)

    给定一个 PDF 如何使用 PHP lib 或 Linux 命令行工具获取 PDF 的布局模式 或相对宽度 高度 Using http www tecnick com public code cp dpage php aiocp dp tc
  • 错误:命令“c++”失败,退出状态为 1

    所以我尝试按照以下说明安装 Pyv8https andrewwilkinson wordpress com 2012 01 23 integrating python and javascript with pyv8 https andre
  • 使用 ProcessBuilder 运行 shell 脚本

    我正在尝试使用 Java 和 ProcessBuilder 运行脚本 当我尝试运行时 我收到以下消息 error 2 没有这样的文件或目录 我不知道我做错了什么 但这是我的代码 ps 我尝试只执行不带参数的脚本 错误是相同的 String
  • 在 Linux 控制台中返回一行?

    我知道我可以返回该行并用以下内容覆盖其内容 r 现在我怎样才能进入上一行来改变它呢 或者有没有办法打印到控制台窗口中的特定光标位置 我的目标是使用 PHP 创建一些自刷新的多行控制台应用程序 Use ANSI 转义码 http en wik
  • 如何列出 nginx 中的所有虚拟主机

    有没有一个命令可以列出 CentOS 上 nginx 下运行的所有虚拟主机或服务器 我想将结果通过管道传输到文本文件以用于报告目的 我正在寻找与我用于 Apache 的命令类似的命令 apachectl S 2 gt 1 grep 端口 8
  • 如何在特定的Java版本上运行应用程序?

    如何运行具有特定 Java 版本的应用程序 我安装了三个 Java 版本 myuser mysystem sudo update alternatives config java There are 3 choices for the al
  • 用于时间线数据的类似 gnuplot 的程序

    我正在寻找一个类似 gnuplot用于在时间轴中绘制数据图表的程序 类似 gnuplot 在 Linux 上运行 命令行功能 GUI 对我帮助不大 可编写脚本的语法 输出为 jpg png svg 或 gif 输出应该是这样的 set5 s
  • 如何使用 go1.6.2 构建 linux 32 位

    有没有任何组合GOARCH and GOOS我可以设置哪些值来构建 ELF 32 位二进制文 件 GOOS linux and GOARCH 386 更多示例 架构 32 bit gt GOARCH 386 64 bit gt GOARCH
  • Ctrl-p 和 Ctrl-n 在 Docker 下表现异常

    For the life of me I can t seem to figure out why ctrl p and ctrl n don t work like they re supposed to under the Docker
  • 在嵌入式系统上将内核控制台发送到哪里?

    我正在开发一个嵌入式系统 该系统当前通过串行端口 1 上的控制台输出启动 Linux 使用启动加载程序中的控制台启动参数 然而 最终我们将使用这个串行端口 内核控制台输出的最佳解决方案是什么 dev null 能否以某种方式将其放在 pty
  • 亚马逊 Linux - 安装 openjdk-debuginfo?

    我试图使用jstack在 ec2 实例上amazon linux 所以我安装了openjdk devel包裹 sudo yum install java 1 7 0 openjdk devel x86 64 但是 jstack 引发了异常j
  • 如何回忆上一个 bash 命令的参数?

    Bash 有没有办法回忆上一个命令的参数 我通常这样做vi file c其次是gcc file c Bash 有没有办法回忆上一个命令的参数 您可以使用 or 调用上一个命令的最后一个参数 Also Alt can be used to r
  • 使用 --prof 选项创建多个日志文件而不是一个 v8.log 的节点

    我正在尝试使用 prof 选项来分析我的 Node 应用程序 但我发现不是一个单一的 v8 log 文件 而是使用诸如isolate 0x9582b40 v8 log isolate 0xa1cab78 v8 6049 等前缀创建的多个文件
  • 如何指定配置脚本的包含目录

    我的工作场所有一个 Linux 系统 其中包含相当旧的软件包 并且没有 root 访问权限 我正在从源代码编译我需要的包 prefix somewhere in homedir 我的问题是我只是不知道如何说服配置在特定目录中查找头文件 源码
  • 隐式声明“gets”

    据我所知 隐式声明 通常意味着该函数必须在调用之前放置在程序的顶部 或者我需要声明原型 然而 gets应该在stdio h文件 我已包含 有没有什么办法解决这一问题 include
  • Unix 中的访问时间是多少

    我想知道访问时间是多少 我在网上搜索但得到了相同的定义 读 被改变 我知道与touch我们可以改变它 谁能用一个例子来解释一下它是如何改变的 有没有办法在unix中获取创建日期 时间 stat结构 The stat 2 结构跟踪所有文件日期
  • 如果输入被重定向则执行操作

    我想知道如果我的输入被重定向 我应该如何在 C 程序中执行操作 例如 假设我有已编译的程序 prog 并且我将输入 input txt 重定向到它 我这样做 prog lt input txt 我如何在代码中检测到这一点 一般来说 您无法判

随机推荐

  • 蓝桥杯2019年第十届省赛真题-Fibonacci 数列与黄金分割

    题目 题目链接 题解 我未曾设想的道路 我居然以为是高精度的矩阵快速幂 差点心态崩了 直接看了题解 1 50 打个表 发现到20 小数点后八位就不变了 所以 解决 代码 include
  • 【浅谈 new 与 delete】

    目录 前言 new 与 delete 内置类型 自定义类型 operator new 与 operator delete new 和 delete 实现原理 定位new 总结 前言 打怪升级 第39天 在C语言中 我们动态申请内存的方法是使
  • python数据可视化学习-饼状图

    import numpy as np import matplotlib pyplot as plt labels A B C D fraces 15 30 45 10 plt pie x fraces labels labels plt
  • python从入门到放弃,学完python能做什么?

    首先python一门应用广泛的编程语言 所以无论是对于专业的程序员 还是从事其他工作的人 学会python都会增加自己的竞争力 那么 对于程序员或者其他职业的人 学会python具体都有些什么好处呢 一 如果程序员学会python 能做什么
  • 【极客大挑战2019】LoveSQL解题

    1 打开靶机 BUUCTF在线评测 选择web gt 极客大挑战2019 LoveSQL 打开被测试站点 是这个样子的 是上一题EasySQL的延续 2 EasySQL那道题采用万能密码 我们也直接使用万能密码试一下 结果如下 直接给出了密
  • 高德地图中缩放级别(zoom)和比例尺(getScalePerPixel)之间的计算关系

    高德地图缩放级别 zoom 高德开放平台的开发文档中 地图缩放级别为 4 20 如下截图 实际测试结果为 3 19 如下截图 高德地图比例尺 getScalePerPixel 表示当前缩放比例下 每像素代表的实际地图距离 单位米 需求描述
  • vue的npm私服

    1 npm config set registry http xxx xx xxx xxx 8089 repository npmregistry 2 npm install increase memory limit save dev 3
  • 三、手把手记录如何在VisualDSP++软件里创建工程

    记录一下 方便以后翻阅 VisualDSP 是ADI公司针对其DSP器件开发的软件开发平台 支持ADI公司BF60x之外的所有系列DSP处理器 包括Blackfin系列和 ADSP 21XX系列定点处理器 SHARC系列和TigerSHAR
  • STM32 伺服电机 指令脉冲+方向位置控制模式 主从定时器 实现PWM脉冲数精确控制

    实验室有个项目涉及到多个步进电机以及伺服电机的控制 需要电机得到一个触发信号后精确移动一段距离 下面以单个伺服电机控制为例 利用伺服电机的指令脉冲加方向位置控制模式实现精确位置控制 关于伺服电机 所谓指令脉冲 方向控制模式 就是由一路PWM
  • 【STM32】在手册中查看IO的功能说明

    主要功能描述 芯片实际上是通过一定方式读取和控制引脚高低电平的器件 引脚分类 功能说明 备注 电源 VBAT VDD VSS VDDA VSSA VREF VREF 等 link 晶振 IO 主晶振 IO RTC 晶振 IO 下载 IO 用
  • Kotlin Lazy vs Lateinit 属性. 何时使用哪个属性?

    原文链接 Kotlin提供了许多很棒的特性 我们可以利用这些功能 快速构建高质量的应用程序 在所有这些特性中 lateinit 和 lazy 是重要的初始化属性 有必要知道何时使用 lateinit 以及何时使用 lazy 初始化 late
  • 【搜索和回溯】剑指 Offer 28. 对称的二叉树

    题目描述 请实现一个函数 用来判断一棵二叉树是不是对称的 如果一棵二叉树和它的镜像一样 那么它是对称的 示例 输入 root 1 2 2 3 4 4 3 输出 true 题解 运用DFS遍历 递归 求解 Definition for a b
  • mysql索引基础

    1 创建索引 alter table table name add index index name column list alter table table name add unique index name column list
  • Spring框架入门之HelloWorld

    一 什么是框架 框架 即framework 其实就是某种应用的半成品 就是一组组件 供你选用完成你自己的系统 简单说就是使用别人搭好的舞台 你来做表演 而且 框架一般是成熟的 不断升级的软件 框架是对特定应用领域中的应用系统的部分设计和实现
  • 常见的无参考图像质量评价指标汇总

    进一步学习https www csdn net gather 22 MtzaIgxsMzQwLWJsb2cO0O0O html 一 基于空间分布的角度 1 直观的方法 直方图 看灰阶数和灰阶分辨率 2 方差或者标准差 方差是指图像像素灰度值
  • 语言学句法分析树形图怎么画_哇,好大一棵树! 如何优雅地画句法树形图 丨语言学午餐...

    原标题 哇 好大一棵树 如何优雅地画句法树形图 丨语言学午餐 相信很多语言学 非语言学学生 在看到句法学的书上 论文上 试卷上出现这样的东西 你想的第一个问题可能是 这XX是什么 当你知道这是句法树形图之后 你想的第二个问题可能是 教科书上
  • Vue3 <script setup>中局部引入组件,动态组[Vue warn]: Vue received a Component which was made a reactive object.

    vue3 动态组件使用报错 Vue 提示如果动态组件绑定的是一个ref 的响应式对象会造成不必要的性能问题 建议用 markRaw 或者 shallowRef 代替 ref 由于Vue3中动态组件绑定的是组件实力并不是组件名称 所以用sha
  • Py之fvcore:fvcore库的使用方法之详细攻略

    Configs from fvcore common config import CfgNode Config definition C CfgNode
  • Android——ContentProvider详解

    1 简介 ContentProvider 内容提供者属于Android的四大组件之一 用于进程间 进行数据交互 共享 即跨进程通信 原理 使用binder机制 后续再进行介绍 统一资源标识符 URI MIME数据类型 全称Multipurp
  • Linux下破解root用户密码

    目录 一 密码破解 Centos7 二 grub2引导菜单加密 linux下破解root密码 一 密码破解 Centos7 通过进入单用户模式修改内核参数来进行修改密码 步骤 官方推荐方法 rd break 以只读的方式 终止 以可读写的方