UFS Explorer Professional Recovery: 恢复被 eCryptfs 加密的数据

eCryptfs 是一种应用广泛的加密文件系统,可以对某些文件或目录进行选择性保护。虽然它可靠易用,但当需要恢复已删除或丢失的加密数据时,可能会带来一些挑战。如果没有适当的解密措施,检索到的数据将毫无价值,甚至授权用户也无法访问。幸运的是,UFS Explorer Professional Recovery 使还原和解密使用 eCryptfs 加密的文件变得简单,如下所示。

内容:

  • eCryptfs 介绍
  • 在 NAS 设备的加密共享文件夹上恢复文件
  • 从 Linux 下的加密主文件夹还原数据

eCryptfs 介绍

eCryptfs是Linux上流行的加密软件包。它在大多数 Linux 发行版的标准存储库中可用,并且通常被 NAS 供应商用于加密群晖 Synology、威联通 QNAP、Asustor、TerraMaster 等设备上的共享文件夹。eCryptfs 不是加密整个驱动器,而是可以保护包含敏感信息的单个文件和目录。它还允许加密文件和目录名称。加密元数据直接存储在文件的标头中,这使得加密项彼此独立。

其部署的整个过程非常简单,结果通常如下所示:

  • 文件名由固定前缀“ECRYPTFS_FNEK_ECRYPTED.”组成,后跟 base64 编码的“加密 ID”和 base64 编码的加密文件名;
  • 文件的标头具有指示加密的特定格式;
  • 实际文件的内容是加密的。

当此类文件被意外删除或丢失时,使用数据恢复软件可以检索到它。然而,由于它的数据是加密的,仍然必须通过有效凭据解锁。可以通过存储文件加密密钥(“加密密码”)的“包装密码”文件或密码本身来完成,密码必须保留为备份副本。

UFS Explorer Professional Recovery 能够解密由各种配置的 eCryptfs 加密的数据,并可以进一步顺利地处理获得的内容。让我们看看如何使用此数据恢复软件处理 eCryptfs 的不同实例。

在 NAS 设备的加密共享文件夹上恢复文件

在第一个示例中,我们有一个群晖 Synology NAS 设备,其“受保护”共享文件夹使用 eCryptfs 加密。

与大多数 NAS 设备一样,该设备采用了简单的 eCryptfs 加密。它使用固定的标准“包装密钥”,而不是从用户密码生成的包装密钥。此密钥用于加密用户定义的“加密密码”,而该密码短语又用于加密给定共享文件夹中的文件。

“加密密码短语”以被“包装”的形式存储在一个特殊的“*.key”文件中。

然而,必须提到的是,来自其他供应商的NAS设备,例如西部数据可能有自己的eCryptfs配置设置及其相应的解密信息。其“加密密码”的备份文件也可能具有不同的格式或位置。

如果正确的“加密密码”或原始的“*.key”文件可用,则可以解密我们 Synology NAS 上的共享文件夹。

使用 UFS Explorer Professional Recovery 组装 Synology NAS 后,我们可以通过该程序检查其“数据”分区的内容。

要访问 NAS 上的共享文件夹列表,需要打开“@syno”文件夹,然后转到“@eaDir”文件夹。

在与“受保护”共享文件夹对应的文件夹中找到的“SYNO@.encrypt”文件显示它已被加密。

实际的加密数据存储在根目录的另一个文件夹中,具有相同的名称,但前后是“@”符号。

要解密文件,我们可以打开文件系统对象的右键菜单,然后选择“转换文件系统文件”选项。

在打开的对话框中,在“解密密码”字段中指定创建共享文件夹时使用的加密密码。

结果,软件中出现了一个新的“eCryptfs过滤器文件系统”选项卡。此选项卡包含与提供的密码匹配的解密文件。

如果忘记了解密密码,也可以从导出的备份“*.key”文件中导出。从 UFS Explorer Professional Recovery 主菜单的“工具”项中,可以找到 “eCryptfs password unwrap” 选项。

在打开的对话框中,浏览到备份“*.key”文件的位置,来设置“密钥文件路径”。

之后,选择“Synology NAS 默认密码”选项,然后单击“unwrap”,从此文件中获取我们的加密密码。

计算出的加密密码可以复制到剪贴板,并在“转换文件系统文件”选项的帮助下用于文件解密。

从 Linux 下的加密主文件夹还原数据

与大多数 NAS 平台不同,Linux 允许通过 eCryptfs 的全功能实现来加密用户的主文件夹。默认情况下,它会创建一个随机文件加密密钥,并且需要用户的密码才能将其从“包装的密码短语”文件中“解包”。这种方法使系统能够支持用户密码的更改,但在文件夹解密方面使事情变得更加复杂。只有在用户的密码(“登录密码”)和“包装密码”文件都可用的情况下,才能执行此操作。

让我们来看看以下 Ubuntu 示例。“User”用户的主文件夹未加密,而“Test 用户已为其主文件夹启用加密。

加密内容位于“.ecryptfs”文件夹中与“测试”用户对应的文件夹的".private"子文件夹中。

“.ecryptfs”子文件夹包含“包装密码”文件。我们可以将此文件保存到其他位置,以便进一步提取原始加密密钥。

现在我们可以应用 UFS Explorer Professional Recovery 主菜单的“工具”项中的“eCryptfs密码解包”选项,从文件中“解包”文件加密密钥。

在打开的对话框中,我们使用“密钥文件路径”选项加载“包装密码”文件,然后将用户的密码(“登录密码”)指定为“包装密码”以解密随机文件加密密钥。

按下“解包”按钮后,程序将显示可以复制到剪贴板的文件加密密钥。

现在我们可以继续执行“转换文件系统文件”选项,该选项显示在文件系统对象的上下文菜单中。

在打开的对话框中,我们将复制的随机加密密钥粘贴到“解密密码”字段中,并将“文件名密钥长度”属性更改为 128 位。

但是,请注意,eCryptfs 的特定实例不包含用于文件名解密的密钥长度信息。如果选择了错误的密钥长度,则即使使用有效的用户密码,也无法正确解密文件名。如果发生这种情况,请尝试使用其他密钥长度选项。

点击“确定”后,软件将打开一个新的“eCryptfs过滤器卷”,其中包含我们“测试”用户的解密主文件夹。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/657764.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 开发环境 全套包含IDEA

一、JDK配置 1.下载 JDK Builds from Oracle 去这边下载open JDK 2.JDK环境变量配置 按win,打开设置 找到环境变量编辑 这边输入的是你下载的那个JDK的bin的路径 检擦配置是否正确在cmd中输入 二、IDEA安装配置 1.下载(社区版) JetBrai…

【Ubuntu】windows离线安装WSL2

下载AppxBundle文件 网上很多 PS安装 管理员身份打开PowerShell PS E:\> Add-AppxPackage .\CanonicalGroupLimited.Ubuntu22.04LTS_2204.2.47.0_neutral_~_79rhkp1fndgsc.AppxBundle开始菜单确认安装完毕。

分类预测 | Matlab实现DT决策树多特征分类预测

分类预测 | Matlab实现DT决策树多特征分类预测 目录 分类预测 | Matlab实现DT决策树多特征分类预测分类效果基本描述程序设计参考资料分类效果

如何用Docker+jenkins 运行 python 自动化?

1.在 Linux 服务器安装 docker 2.创建 jenkins 容器 3.根据自动化项目依赖包构建 python 镜像(构建自动化 python 环境) 4.运行新的 python 容器,执行 jenkins 从仓库中拉下来的自动化项目 5.执行完成之后删除容器 前言 环境准备 Linux 服务器一台(我的是 CentOS7)…

【排序算法】归并排序

文章目录 一:基本概念1.1 定义1.2 算法思路1.3 图解算法1.4 合并两个有序数组流程1.5 动画展示 二:性能2.1 算法性能2.2 时间复杂度2.3 空间复杂度2.4 稳定性 三:代码实现 一:基本概念 1.1 定义 归并排序(Merge sort…

【论文阅读|小目标分割算法ASF-YOLO】

论文阅读|小目标分割算法ASF-YOLO 摘要(Abstract)1 引言(Introduction)2 相关工作(Related work)2.1 细胞实例分割(Cell instance segmentation)2.2 改进的YOLO用于实例分割&#xf…

OpenCV 0 - VS2019配置OpenCV

1 配置好环境变量 根据自己的opencv的安装目录配置 2 新建一个空项目 3 打开 视图->工具栏->属性管理器 4 添加新项目属性表 右键项目名(我这是opencvdemo)添加新项目属性表,如果有配置好了的属性表选添加现有属性表 5 双击选中Debug|x64的刚添加的属性表 6 (重点)添…

vue使用mpegts.js教程

vue使用mpegts.js教程 最简单好用的H265网页播放器-mpegts.js简介特征受限性 使用步骤安装引入HTML 中添加视频标签video知识扩展 在容器里创建播放器 最简单好用的H265网页播放器-mpegts.js H265是新一代视频编码规范,与H264相比压缩比更高,同样的码率下…

JUC CompletableFuture

文章目录 CompletableFuture^1.8^CompletionStage 接口thenApply 系列thenAccept 系列thenRun 系列thenCombine 系列thenAcceptBothrunAfterBothapplyToEitheracceptEitherrunAfterEitherthenComposewhenCompletehandle其他 CompletionStage 的方法总结 CompletableFuture 实例…

excel中提取一串数字中的某几个数字

excel中提取一串数字中的某几个数字 提取一串数字中的某几个数字,使用公式函数截取数据 LEFT函数:用于截取单元格左边的字符,例如“LEFT(A1,5)”会返回A1单元格中的前5个字符。RIGHT函数:用于截取单元格右边的字符,例…

西方网络安全人才培养的挑战及对策

文章目录 前言一、网络安全人才力量发展现状(一)注重从战略上重视网络安全人才培养和发展。(二)注重从多渠道多路径招募网络安全人才。(三)注重分层次分阶段系统规划网络安全人才培养模式。(四)注重通过实践锻炼进一步提升网络攻防实战能力。二、网络安全人才面临的形势…

软件工程知识梳理6-运行和维护

软件维护需要的工作量很大,大型软件的维护成本高达开发成本的4倍左右。所以,软件工程的主要目的就是要提高软件的可维护性,减少软件维护所需要的工作量,降低软件系统的总成本。 定义:软件已经交付使用之后,…

真机调试,微信小程序,uniapp项目在微信开发者工具中真机调试,手机和电脑要连同一个wifi,先清空缓存,页面从登录页进入,再点真机调试,这样就不会报错了

微信小程序如何本地进行真机调试?_unity生成的微信小程序怎么在电脑上真机测试-CSDN博客 微信小程序 真机调试 注意事项 uniapp项目在微信开发者工具中真机调试,手机和电脑要连同一个wifi,先清空缓存,页面从登录页进入&#xf…

Flask 入门2:路由

1. 前言 在上一节中&#xff0c;我们使用到了静态路由&#xff0c;即一个路由规则对应一个 URL。而在实际应用中&#xff0c;更多使用的则是动态路由&#xff0c;它的 URL是可变的。 2. 定义一个很常见的路由地址 app.route(/user/<username>) def user(username):ret…

安装 vant-ui 实现底部导航栏 Tabbar

本例子使用vue3 介绍 vant-ui 地址&#xff1a;介绍 - Vant 4 (vant-ui.github.io) Vant 是一个轻量、可定制的移动端组件库 安装 通过 npm 安装&#xff1a; # Vue 3 项目&#xff0c;安装最新版 Vant npm i vant # Vue 2 项目&#xff0c;安装 Vant 2 npm i vantlatest-v…

选型 之 工业相机篇

一、概述 23年24年行情不会好&#xff0c;公司各种想办法裁员&#xff0c;在大陆这个大熔炉中只能不断地提炼。我个人主要是在工业领域做2D图像算法和3D算法&#xff0c;但是现在出去都需要全能人才 方案、算法、运动控制等&#xff0c;我目前最大的短板就是方案&#xff0c;在…

【Javaweb程序设计】【C00165】基于SSM的高考志愿辅助填报系统(论文+PPT)

基于SSM的高考志愿辅助填报系统&#xff08;论文PPT&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于ssm的高考志愿辅助填报系统 本系统分为前台系统模块、后台管理员模块以及后台学生模块 前台系统模块&#xff1a;当游客打开系统的网址后&…

跟着cherno手搓游戏引擎【11】静态库、警告消除(渲染预热)

premake修改&#xff1a; SRC下的premake workspace "YOTOEngine" -- sln文件名architecture "x64" configurations{"Debug","Release","Dist"} startproject "Sandbox" -- https://github.com/premake/premak…

wrappedComponentRef和ref的区别

wrappedComponentRef 是在使用高阶组件 (Higher-Order Component) 包装组件时的一个 prop&#xff0c;它用于引用被包装的组件实例。 ref 是 React 提供的用于访问 DOM 元素或者组件实例的属性。在创建组件时&#xff0c;可以给组件添加一个 ref 属性&#xff0c;然后通过该属…