LWN:针对完整性保护以及数据共享设计的Composefs!

保姆级教程:在Ubuntu 20.04上从零搞定ROS Noetic和RealSense驱动,为无人机开发铺路 本文提供了一份详细的Ubuntu 20.04环境下ROS Noetic和RealSense驱动安装指南,专为无人机开发环境搭建设计。从系统配置、ROS安装到RealSense驱动集成,涵盖所有关键步骤和常见问题解决方案,帮助开发者快速搭建自主空中机器人开发平台。 阅读详情

关注了就能看到更多这么棒的文章哦~

Composefs for integrity protection and data sharing

By Jake Edge
December 7, 2022
DeepL assisted translation
https://lwn.net/Articles/917097/

最近在 linux-kernel 邮件列表中提出了一个只读文件系统的 RFC,希望用它来在不同的目录树之间透明地共享文件数据,同时也为数据和目录 metadata 提供完整性验证。这个 Composefs 是由 Alexander Larsson(发布者)和 Giuseppe Scrivano 共同开发的,用在 podman 容器和 OSTree(或现在称为 "libostree")root 目录方面,但也可能有其他人会希望使用它所提供的功能。目前为止都没有看到什么反馈或者是抱怨,但它是一个很小的 patch set(大约两千行代码),而且基本上是比较独立、自成一体的,因为它毕竟是一个文件系统,所以确实有可能会出现在不久之后的 kernel 中。

Features

在 patch 的 cover letter 说明中有对于 composefs 的长篇介绍,在 documentation patch 中有更多信息。跟许多文件系统不同的是,composefs 的底层不是一个普通块设备,而是一组普通的只读文件:一个包含目录结构和文件 metadata 的 image 文件,以及一个目录其中都是一些 content-addressed object 来作为文件内容。由于这些文件本身是在一个对象存储(object store)中,因此重复文件来说就可以避免浪费空间了,也就是说具有相同内容的文件只被存储一份,哪怕 metadata(如所有者、权限、扩展属性等)有差别。此外,每当从 composefs 读取文件时,都会使用底层的对应文件,并且缓存在 page cache 中,所以如果有另一个 composefs 文件读取其实需要的是相同内容的话,那么也会使用这个 page-cache 条目。

对象存储中使用的文件名是对应着文件内容的 fs-verity 摘要的,因此 composefs 可以使用 fs-verity 机制来检测文件的变动。image 文件可以包含文件的摘要,确保它们不会在 composefs 之外被改变,并且 image 文件本身也可以用 fs-verity 保护起来。image 文件的 fs-verity 摘要可以是从一个安全的地方(比如签名保护过的的内核命令行)来获取,并传递给 mount 命令,让 composefs 确保整个文件系统都是跟它的预期状态匹配得上的。

一个 composefs 实例中所需的那些文件是用 mkcomposefs 工具创建的:

$ mkcomposefs --digest-store=objects rootfs/ rootfs.img

这个命令会对 rootfs 目录进行处理,将其目录结构和文件 metadata 对应的 image 文件存储在 rootfs.img 中,并将文件内容作为一个新创建的对象存储放到 objects 目录里去。object 目录下跟 Git 中的做法类似,使用了摘要哈希值的前两个十六进制字符命名这些子目录,每个子目录都包含以哈希值其余字符作为名字的文件。
以这种方式创建的文件系统可以按如下方式挂载。

$ mount -t composefs rootfs.img -o basedir=objects,verity_check=2 /mnt

verity_check 选项控制着是否对 image 和所有文件进行 fs-verity 检查;0 会禁止 fs-verity 检查,1 是只检查指定的 image,2 表示需要 fs-verity。还有一个 digest 选项,可以用来将 image 文件的 fs-verity digest hash 传递给 mount 命令,这样 composefs 就可以对它进行验证了。这就提供了 cover letter 中所提到的端到端验证(end-to-end verification)。"所以,只要使用了一组可信的 mount 选项(比如是从 TPM 解锁而来),我们 mount 上来的就是一个完全验证过的文件系统 tree,并有机会对相同的文件进行细粒度的共享。

Use cases

系统中的多个容器经常会共享许多文件,但这些文件数据通常都要在每个容器 image 里复制一份。Composefs 可以用来创建多个不同的、只读的容器镜像文件,这些文件都指向同一个对象存储,因此所有的文件都只需要存储一份。此外,被多个容器同时使用的文件(如共享库)就可能会驻留在 page cache 中,从而节省了从持久性存储(persistent storage)中获取这个数据的速度。

Larsson 和 Scrivano 所设想的第二个用途是用 composefs mount 来替代“link farm” (基于 OSTree 的 root 文件系统中会创建)。目前,OSTree 使用了 hard link 硬链接来指向它的内容寻址的对象存储(content-addressed object store),但这个结构不阻止修改,因为它在运行时没有进行验证,只有在创建时才会被验证过。相反,通过在 image 文件和对象存储上使用 fs-verity,这些基于 composefs 的 root 文件系统就会自动保护其完整性。

除了 composefs 的这两个直接用途之外,还有其他的用途在酝酿之中:

[……]似乎还有很多其他可能的用途。例如,许多系统对 image 都使用了 loopback mount 方式(如 lxc 或 snap),这些都有机会利用共享优势的。我们还谈到了使用 fuse [用户空间中的文件系统] 来实现对底层文件实现本地缓存。也就是说,你可以让第二个 basedir 采用 fuse 文件系统,当第一个 basedir 中查找文件失败时,fuse 文件系统会触发下载动作,并保存在第一个目录中供以后查找使用。这里有许多有趣的可能性。

到目前为止,除了 Bagas Sanjaya 建议的一些文档改动外,没有什么其他的 review 意见。然而,composefs 提供的设施似乎很有用,它建立在 fs-verity 的基础上,经过一段时间的磨合,该功能已经放到内核中了。在 OSTree 中支持 composefs 的工作也在进行中,但是在文件系统进入内核之前,存在着一些鸡生蛋蛋生鸡的问题。如果运气好,并且后续没有出现对 composefs 的严重反对意见,那么这个问题可能就会被解决,甚至可能在明年年初就有可能合入。

全文完
LWN 文章遵循 CC BY-SA 4.0 许可协议。

欢迎分享、转载及基于现有协议再创作~

长按下面二维码关注,关注 LWN 深度文章以及开源社区的各种新近言论~

format,png

【安卓逆向】python版本 sha源码 免责声明本文内容仅供学习交流使用,严禁用于商业和非法用途。抓包数据、敏感网址以及数据接口已进行脱敏处理。 注:如有引用,请标注文章地址!!!!!!! 阅读详情

相关推荐

【学习体会】Lighttools8.4.0:设置虚拟相机+仿真结果3D显示

1.设置虚拟相机并渲染视图中的图像 添加球型光源、接收器、cube物体,设置物体表面的光学属性为简单散射

LeonJin的博客 6282

LWN:讨论composefs!

关注了就能看到更多这么棒的文章哦~Debating composefsBy Jonathan CorbetFebruary 16, 2023ChatGPT assisted translationhttps://lwn.net/Articles/922851/去年 12 月,LWN 曾经报道过 Composefs 文件系统,并称针对这些 patch “几乎没有任何反馈”。但是现在情况已经发生了改变...

Linux News搬运工 662

GXHT40温湿度传感器:I2C通信与CRC校验实战解析

本文详细解析GXHT40温湿度传感器的I2C通信协议与CRC校验机制,涵盖硬件连接、时序控制、数据读取及加热功能应用。通过实战案例分享优化技巧与异常处理,帮助开发者提升嵌入式系统中传感器数据的准确性与可靠性。

rgv234567的博客 241

PHPExcel终极指南:从图表创建到PDF导出的完整第三方库集成方案

PHPExcel是一个功能强大的PHP库,专为处理Excel文件而设计。这个第三方库集成方案让你能够轻松地在PHP应用中创建、读取和编辑Excel文档,支持从简单的数据表格到复杂的图表和PDF导出功能。无论你是需要生成报表、处理数据导入导出,还是创建动态的电子表格应用,PHPExcel都能提供完整的解决方案。🔧 ## 📊 PHPExcel核心功能概览 PHPExcel提供了丰富的功能集,包

gitblog_01159的博客 810

StarRocks慢查询排查实战:从Query Plan到Profile的保姆级调优指南

本文提供StarRocks慢查询排查的实战指南,从Query Plan解析到Profile诊断,详细讲解如何识别执行计划中的危险信号和优化关键指标。通过物化视图优化、分布式执行调整和资源管控方案,帮助DBA快速定位并解决查询性能问题,提升数据库效率。

weixin_42568801的博客 378

IMU660RA姿态解算实战:从传感器滤波到欧拉角输出的完整实现

本文详细介绍了IMU660RA姿态解算的完整实现过程,从传感器滤波到欧拉角输出。通过实战案例和代码示例,展示了如何有效处理陀螺仪和加速度计的噪声问题,并选择合适的算法进行数据融合和姿态解算。特别强调了欧拉角输出中的坐标系对齐和动态补偿技巧,帮助工程师快速掌握IMU660RA的应用。

weixin_42524762的博客 386

探索composefs:灵活的只读可挂载文件系统构建器

探索composefs:灵活的只读可挂载文件系统构建器 在Linux世界中,创新从未止步,【composefs】便是这样的一个例子,它巧妙地结合了Linux的底层特性,以提供一种高度灵活的方式来支持只读、可挂载的文件系统树。这个项目的核心在于将overlayfs、EROFS和fs-verity(可选)这三种关键技术融合在一起,打造出一种全新的文件系统体验。 项目介绍 composefs的设计目标是...

gitblog_00031的博客 503

SolidWorks的GB库(钢型材库,包括铝型材、铝管等结构)安装及使用教程(生成铝型材为例)

1、GB库的下载 2、GB库的安装教程 3、GB库的使用教程

树下等苹果的博客 12万+

突破容器与系统部署瓶颈:OSTree中composefs技术原理解析与实战指南

在现代操作系统和容器部署领域,我们经常面临以下挑战: - 系统镜像体积庞大,导致存储和传输成本高昂 - 更新过程耗时长,影响业务连续性 - 传统文件系统难以兼顾安全性与灵活性 - 容器镜像与主机系统隔离不完全,存在安全隐患 composefs技术的出现为解决这些问题提供了全新思路。作为一种混合Linux堆叠文件系统,composefs与OSTree的结合不仅能显著提升系统部署效率,还能提供更强的

gitblog_00875的博客 587

基于YOLOv8的智能肿瘤检测系统:从图像到诊断的深度学习应用——含代码和论文

本文提出了一种基于YOLOv8深度学习的智能肿瘤检测系统,用于医学影像(CT/MRI/X光)的自动分析与诊断。针对传统人工阅片效率低、主观性强的问题,系统采用最新的YOLOv8目标检测算法,通过改进的C2F骨干网络、Anchor-Free检测头和解耦头等创新设计,实现高效精准的肿瘤定位。文章详细阐述了模型架构、数据处理流程、训练优化方法及PyQt5用户界面开发,为临床提供可靠的AI辅助诊断工具。实验结果表明,该系统在速度和准确率上达到良好平衡,有望提升肿瘤早期筛查效率。

FJN110的博客 199

神经影像和人类基因组关联分析的实践过程

现代全脑转录图谱为研究脑组织的分子相关性提供了前所未有的机会,可以使用无创神经成像进行量化。然而,将神经影像学数据与转录组测量相结合并不是直截了当的,需要仔细考虑才能做出有效的推断。在本文中,我们回顾了最近的研究工作,探讨了不同的方法选择如何影响成像转录组学分析的三个主要阶段,包括1)转录图谱数据的处理;2)将转录测量与独立衍生的神经影像学表型相关联;3)通过基因富集分析评估鉴定的关联的功能意义。我们的目标是为这个快速发展的领域促进标准化和可复制方法的发展。

从事脑科学核磁共振方法学研究,在Nature communications等权威期刊发表研究论文,熟练掌握磁共振处理方法和统计学方法,欢迎大家和我交流。 2201

在 Linux 上检查文件完整性的 6 种方法,减少黑客攻击风险

如果您认真对待 Linux 桌面的安全性,那么验证您从 Internet 下载的文件的 checksum 是一个好习惯。 当您下载 Linux ISO 文件时,您可能已经注意到下载链接附近有一个 checksum。checksum 是一长串实际上没有任何意义的数字和字母。此 checksum 的目的是帮助您确认您下载的文件正是您期望的文件,它没有被不完整的下载损坏或有人在文件到达您之前篡改文件。 有几种方法可以在 Linux 上验证文件的完整性。看看以下程序,看看哪一个对您有吸引力。 1. Hashbrow

技术宅,专注云原生、Go、Linux、Java等技术分享,原创文章、效率工具、实战解决方案!关注我,了解互联网动态,学 IT 不迷路 6260

保研考研机试攻略:python笔记(4)

保研考研机试攻略:python笔记(4)二分法+最大公约数+最小公倍数+素数判断+幂次方mod方法+匹配问题+哈希算法+哈夫曼编码+二叉树

qq_63349644的博客 1096

终极Nginx配置自动化:10个CI/CD集成技巧实现零停机部署

在当今快速发展的Web服务环境中,**Nginx配置管理**和**CI/CD自动化**已成为现代运维的核心技能。server-configs-nginx项目为开发者提供了一个完整的Nginx服务器配置模板库,结合GitHub Actions的CI/CD工作流,可以实现配置的自动化验证、测试和部署。本文将为您详细介绍如何通过10个实用技巧,构建一个完整的Nginx配置自动化流程。🚀 ## 📊

gitblog_00035的博客 581

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

从研究到应用:PyTorch-NPU/sdxl-turbo在教育与创意工具中的创新实践

在人工智能快速发展的今天,**PyTorch-NPU/sdxl-turbo**作为一款革命性的文本到图像生成模型,正在教育和创意领域掀起创新浪潮。这款基于Adversarial Diffusion Distillation(ADD)技术开发的模型,能够在单次推理步骤中生成高质量的图像,为教育工作者和创意从业者提供了前所未有的实时创作工具。本文将深入探讨sdxl-turbo模型在教育场景和创意工具中

gitblog_00207的博客 476

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

WinBtrfs 2.0完整路线图:fs-verity文件验证与Zoned存储支持详解

WinBtrfs是Windows平台上开源的Btrfs文件系统驱动程序,为Windows用户提供了强大的Linux文件系统支持。最新发布的2.0版本路线图带来了两项重大更新:fs-verity文件完整性验证和Zoned存储设备支持,这将显著提升Windows系统的数据安全和存储效率。 ## 🔒 fs-verity文件完整性验证:保护数据安全 fs-verity是Linux内核中的一项重要功能

gitblog_00101的博客 711

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

6.6内核版本主要特性

2023年10月29日星期天,Linux 6.6发布。

weixin_49382066的博客 1313

LWN: 对 BPF 所拥有的超能力进行限制!

关注了就能看到更多这么棒的文章哦~Taming the BPF superpowersBy Jonathan CorbetSeptember 29, 2021LPCDeepL assist...

Linux News搬运工 355

LWN:Fedora中完整性检验的又一个方案!

关注了就能看到更多这么棒的文章哦~Another Fedora integrity-management proposalBy Jake EdgeJanuary 4, 2022DeepL ...

Linux News搬运工 460

linux怎么保证数据的完整性,Linux中如何保证数据安全落盘

背景在很多IO场景中,我们经常需要确保数据已经安全的写到磁盘上,以便在系统宕机重启之后还能读到这些数据。但是我们都知道,linux系统的IO路径还是很复杂的,分为很多层,每一层都可能会有buffer来加速IO读写。同时,用户态的应用程序和库函数也可能拥有自己的buffer,这又给IO路径增加了一些复杂性。可见,要想保证数据安全的写到磁盘上,并不是简单调一个write/fwrite就可以搞定的。那么...

weixin_42444974的博客 1309

理解 Linux 动态库加载:LD_LIBRARY_PATH

flyfish

二分掌柜的 331

Linux 磁盘满了怎么排查?df / du / find 三步定位大文件

Linux 磁盘满排查三步法:df -h 定位分区、du 逐层下钻、find 按大小和时间抓大文件,附 inode 耗尽、文件已删未释放、du 与 df 不一致等经典坑的解决方案。

weixin_38291577的博客 218

Linux-iostat命令详解

Linux命令学习记录

m0xin的博客 98

Linux 服务器性能排查手册(2026):CPU、内存、磁盘IO、网络四大瓶颈定位

iptables 四表五链模型、firewalld zone 信任级别、云安全组与主机防火墙的关系与优先级,避坑改了防火墙把自己挡在服务器外面的翻车事故。

2502_91473995的博客 287

【Linux】APT 本地 deb 安装与 `-f` 参数总结笔记

apt install ./xx.deb 可自动解析并安装依赖,无需 -f;-f 仅用于修复已损坏的依赖状态,非首次安装时必需。apt install -f 可单独运行,修复 broken dependencies。两者职责不同:前者是安装与依赖解决,后者是故障修复。完全离线时需提前准备依赖包或本地源。

hknaruto的专栏 209

Linux rm 误删文件恢复实操教程

Linux使用rm删除文件时,并不会直接抹除磁盘上的数据,只是移除文件索引,让系统不再识别这块空间。只要没有写入新数据,原有扇区内容就会保留。新文件写入才有可能覆盖这些区域,一旦覆盖就很难找回。恢复的本质就是扫描磁盘,找到这些还存在、但索引丢失的数据条目,再把它们导出保存到其他分区。越早停止写入,恢复成功的概率越高。

海天数据恢复-winhex数据恢复教程 225
上一篇: LWN:平衡好处理软中断以及实时任务!
下一篇: LWN:对syzbot report分类过程中的问题!
LinuxNews搬运工
博客等级 码龄7年 438粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值