www.402.com:HGST开垦新的 Linux 文件系统“Zonefs”

脚下,他们提议的 Zonefs 文件系统仅包含大致 1500 行新代码。

何以利用DM-Crypt加密Linux文件系统?

www.402.com 1

www.402.com,读者常常询问大家的八个相近难题是,怎么着为 Linux
实施豆蔻梢头种文件系统加密方法。在深切商讨那么些话题在此以前,我想要注脚两点:

先是,很难在网络找到那方面充裕多的音信。于是,小编会向我们介绍多少个好不轻松找到的真正很棒的能源(实际上是几篇教程)。

说不上,领悟这几个主题素材的手艺细节很首要。那也是本身在本文中所要查究的,之后小编会介绍怎样兑现加密,然后介绍其余能源。

人人平时说想要加密数码,但是他们平日忽略了三个平素的方面:他们到底想对怎么样举办加密?他们是想从软件包里面临数码开展加密,然后将该数额存款和储蓄到硬驱上的单个文件中?比方说,他们是想让
LibreOffice 创设整个 .odt
文字管理文书档案,对它举行加密,然后将加密的结果作为单个文件写入到文件系统,就好像下图那样?依然说她们想让
Linux 在文件系统层面自行处理加密?

www.402.com 2

后生可畏种方法就是从软件包里面加密数据,然后将该数额存款和储蓄到硬驱上的单个文件中。也许Linux 会在文件系统层面自行管理加密。

以 Linux 管理加密事务为例, LibreOffice
除了读取和写入文件外,什么也不做,就疑似它如今所做的那么。 Linux
会加密文件,然后将文件实际写入到磁盘上,解密后回过头来读取文件。那是自己在那地运用的章程,可是你还要建议其它大多主题素材。想要提议合适的标题,你就要了然块存款和储蓄的行事规律。无妨先看一下块存款和储蓄。

Linux块设备加密之dm-crypt剖判 

教您哪些运用dm-crypt给Ubuntu系统文件加密

块级存款和储蓄

操作系统管理地点驱动器时,操作系统使用 filesystem
软件来格式化驱动器,然后读取并写入单个扇区。保存文件时, filesystem 软件弄理解须要写入的扇区。读取文件时,
filesystem
会弄掌握数据在什么扇区上,然后读取那个扇区,为你重构文件。想管理文件,
filesystem
使用差别品种的目录,它将这个索引也蕴藏在磁盘上。不一致的 filesystem
软件使用不一致的方式来集团数据,还蕴涵分化的四平体制;最后结果正是有了不一样的文件系统,举个例子ext4 和 NTFS 。

底层细节

咱俩已交待清楚了块级设备的行事原因,不要紧构思那些:操作系统使用其 filesystem 软件,将数据扇区写入到驱动器。 filesystem
软件明确将数据扇区写入到何地、怎么着组织它们,满含创设描述文件名称、组织办法等音讯的元数据。不过filesystem
软件为了实践实际读取并写入到驱动器的操作,就供给有配备驱动程序来加强际调控设施自己的劳作,如下图的左边手所示(驱动程序在
/dev 目录里面包车型客车文件系统档期的顺序构造中本来就有表示)。

www.402.com 3

filesystem
软件能够在写入数据早先开展加密。恐怕,坐落于 filesystem
软件与设备驱动程序之间的有些软件能开展加密。

就在 filesystem
软件与道具驱动程序之间的这么些点,加密地点要求做出选拔:你是想让 filesystem
软件扩充加密,然后写入数据吧?依旧说,大家实际元帅叁个软件内置到 filesystem 软件与设施驱动程序之间怎么?那样一来,
filesystem
会像平时那样运转,然则当它试图访谈设备时,其调用改而由加密软件来拍卖,如上海体育场合的侧边所示。大家在本文中要运用这种措施。然而先不要紧研究别的多少个难点。

顺便说一下,若是你想看看设备驱动程序在 Linux
系统的 /dev 目录中如何存在,能够参见本文:

。它包蕴编制程序方面,不过假若你不是编程员,就点击到第 2 页,向下滚动鼠标,找到标为 Hello, World! Using /dev/hello_world
的章节,阅读第一段,上边作了实际周全的演讲。)

借让你想加密整个分区,能够构思加密整个驱动器。可是这里存在叁个小标题。借使计算机从该驱动器运维,驱动器就供给四个细微的分区
专门用于寄存运营代码。该运营代码是机械代码,Computer读入后施行,能力开行计算机。若是一切硬驱经过了加密,包涵这某些数目,Computer就须求某种格局来解读
数据。不过Computer还一向不装入文件系统,所以它没办法读取解密它的前后相继。看见标题之所在了吗?解密代码供给在
BIOS
本身里面。不过超越50%计算机未有这种代码。而那表示运行记录其实不可能被加密。可是大家早已探讨了减轻这些难题的各样措施(参阅:

),举例把运维代码放在可活动 USB 驱动器上面。

长间距驱动器

若果您的驱动器是远程驱动器,有三种艺术能够访谈数据;那对于你掌握能够采取哪个种类等级次序的加密很入眼。两种方法是:

• 块级存储 好似使用本地驱动器那样,因此你的 filesystem
软件可以读取并一向写入到长途磁盘上的扇区。

• 文件级存储,你的操作系统将文件发送到远程服务器,远程服务器有和睦的操作系统和 filesystem
软件;该远程服务器进而将文件写入到其磁盘上。

假假使文本级存款和储蓄,你在加密方面还没太多的选用。假设您想加密数据,就须求在你的应用程序中加密它,然后将数据发送到远程服务器上囤积起来。

但假使是块级远程存款和储蓄,确实有多少个章程。譬如说,假若你使用云托管服务,因此你能将分裂的卷连接到分配的服务器,你日常能够运用块级存款和储蓄。卷未必
物理连接到您的托管服务器;可是,服务器能够访谈它们,好像它们便是本地卷那样,并且格式化卷,读取和写入单个扇区,就象是驱动器是本地挂载的。那意味
着,假设是块级远程存款和储蓄,你能够在文件系统层面实施加密,就相似在地头Computer和本地驱动器上试行加密那么。

软件

     
今后大家驾驭了想要完毕的职责;难点是,你该怎么落实吗?事实上,
Linux
内置了二个软件包,使用自家此前介绍的那种办法,即把软件放置到 filesystem 软件与设施驱动程序之间。该软件名称为 dm-crypt 。而 dm-crypt
能够加密数据,然后利用黄金时代种名称为 LUKS
的蕴藏格式,将数据写入到存款和储蓄设备(通过配备驱动程序)上。

LUKS ( Linux
统大器晚成密钥设置)是驱动器本人上边所用的格式,它实际用来代表 ext4 之类的文件系统。 dm-crypt 系统位于 filesystem 软件与设备驱动程序之间; filesystem 软件读取和写入 ext4 ,而 ext4 数据经过
dm-crypt 加以推送,然后 dm-crypt 将数据以 LUKS
格式存款和储蓄到驱动器上。因此,实际上 ext4 或 NTFS 之类的文件系统就在经过加密的 LUKS 格式的“上边”。

请小心: dm-crypt
是子系统的名目,你能够动用过多工具来管理它。没盛名字为 dm-crypt 的单个命令。你能够使用部分程序来管理 dm-crypt :

• cryptsetup :
这一个命令路程序为您提供了底层访谈权,以便管理创立 dm-crypt 管理的装置这一职务。

• cryptmount :
这一个程序提供了更多的功用特色,更便于使用一些,具体可参看数年前的那篇文章:

任何成效特色

dm-crypt
系统的一个优点在于,它没供给直接管理磁盘驱动程序。相反,它能够将具有数据保存到单个文件中,实际不是运用
LUKS 和全部磁盘分区。那就表示,你能够让
dm-crypt
制造单个文件,然后您能够在单个文件之中创制整个文件系统。之后,你能够将该单个文件作为单身的驱动器来挂载,然后从任何软件来拜望它,就好像你相比较别的任何驱动器那样。

云驱动器

出于局地云服务提供商(例如亚马逊互连网服务)为您提供了宏观的根访谈权,能够访谈连接到你服务器的块设备,你能够足够利用
dm-crypt ;能够用 LUKS 格式来格式化块设备,然后将它计划用于你的 dm-crypt 系统;之后,你一丝一毫能够用 ext4
文件系统来格式化它。最后结果正是一心加密的驱动器驻留在云端,你能够活动管理这些驱动器。想不想试豆蔻梢头试?那篇教程就介绍了使用
cryptsetup 程序来加密:

除此以外一些云服务提供商不像 AWS
那样令你能够直接待上访谈块设备。举例说, Digital
Ocean 就不容许你向来访谈;可是你还能够创制多少个文件,安装 dm-crypt
来采纳非常文件,然后在文件之中创设三个所谓的“容器”,它象征了文件系统。实际上,这几个历程与你在融洽的本地机械上开创二个加密的容器文件如出生龙活虎辙。这里有豆蔻梢头篇来自
Digital Ocean 网站的学科:
,介绍了创立 dm-crypt LUKS
容器文件。在该学科中要小心:就好像使用块设备那样,你能够创建整个文件系统(举个例子ext4
),不过在这里处,该文件系统驻留在容器文件之中。

本地驱动器

而这就引出了我们怎么在地头完结那整个的话题。在亚马逊(亚马逊(Amazon卡塔尔国卡塔尔(قطر‎上创办加密驱动器的上述教程涉及的手续与在您自个儿的硬驱上本土制造加密驱动器一个样。不过另意气风发篇教程(

)给出了日益的证实,以便在您协和的硬驱上地方创设,它也运用 cryptsetup 。

假诺您想成立四个地面容器驱动器,含有整个经过加密的文件系统,只要依据上边Digital Ocean 教程中的步骤就能够。

要么,假设您想使用另一个程序 cryptmount
来加密整个分区或创立容器文件,请关切那篇教程:
。作者 Carla Schroder 给出了多少个理解的步调。

结束语

正是如此。想精通怎么样加密,首要的有些是先要完全领会您实际试图完结什么职务:让应用程序加密和平解决密数据,依旧让操作系统管理加密;是加密整个
分区,照旧唯有加密个别文件;是否想创设保存加密文书的容器。之后,你能够依据本人在本文中付出链接的多少个科目中关系的步调,顺遂完毕加密。

正文长久更新链接地址:

读者常常询问大家的二个左近难题是,如何为 Linux
试行大器晚成种文件系统加密方法。在浓烈研商那个话题之…

Western Digital 的 达米恩 Le Moal 针对 Zonefs 举办描述称,“zonefs 不是
POSIX 包容文件系统。其指标是透过利用基于功能更拉长的公文的 API
替换原始块设备文件访问,进而简化应用程序中分区块设备协助的完成,幸免正视直接的块设备文件
ioctl。这种办法的三个示范是,通过同意将 SSTables
存款和储蓄在与常规文件系统相通的区域文件中,并不是作为分区设备的扇区范围来囤积,进而在分区块设备上落实LSM(log-structured merge)树布局(比如在 罗克sDB 和 LevelDB
中利用)。引进更加高端别的布局“one file is one
zone”则足以扶持裁减应用程序中所需的订正量,同不常间允许利用含有除
C 语言之外的各样编制程序语言的分区块设备。”

(文/开源中中原人民共和国卡塔尔(قطر‎    

其实,Western Digital
一贯在对分区存款和储蓄实行大气入股,以允许利用更加大体积的经济型设备。有关分区存款和储蓄的越来越多背景消息方可在 Western
Digital
博客找到。

相关文章