如何理解encfs使用的文件系统概念?

如何理解encfs使用的文件系统概念?

我对计算机科学概念没有深入的了解,但想更多地了解该实用程序如何环境文件系统作品。我有一些关于文件系统概念的问题环境文件系统。据说encfs是一个加密文件系统维基链接

1)对文件进行加密环境文件系统正在移动要加密的文件块,所以我是否正确地将文件的这个“加扰”版本视为证明新文件系统术语合理的新视角?

2)在手册页中环境文件系统在该部分西维特 链接到的人环境文件系统在线的,它说环境文件系统不是真正的文件系统。我该如何理解这一点?是因为所有文件系统都缺少一些必要的功能吗?环境文件系统' 文件系统?还是因为其他更实质性的原因?

3)手册页说它创建了一个虚拟加密文件系统。这里有两个问题;是什么使它成为虚拟的?它是文件系统中的文件系统吗?加密的是,没有一种直接的方法将文件块映射为其他程序可以读取的格式吗?

4)命令如何执行定影器安装座与encfs有关吗?

答案1

我认为你的描述背后存在着误解。未加密的数据在任何时候都不会存储在磁盘上。当您写入 encfs 文件系统中的文件时,写入指令将转到进程encfs;该encfs过程对数据(在内存中)进行加密并将密文写入文件。文件名以及文件内容均已加密。读取文件经历相反的过程:encfs从磁盘文件读取加密数据,在内存中解密并将明文传递给请求应用程序。

当您运行该encfs命令时,它不会解密任何数据。它仅使用您提供的密码来解锁文件系统的密钥。 (从密码学的角度来说,这实际上是一个解密操作,但与文件数据所发生的解密操作不同。这里不再赘述。)

1)Encfs 并不完全是“移动方块”;当它读取块时,它正在解码块。 Encfs 是一种文件系统,因为它的行为类似于文件系统:安装后您可以在其上存储文件。

2) Encfs 不是一个“真正的”文件系统,因为它不能独立工作。 Encfs仅提供加密层;它使用底层文件系统来实际存储数据和元数据(元数据是有关文件的辅助信息,例如权限和修改时间)。

3) 虚拟文件系统是 encfs 本身不存储任何数据的另一种说法,它需要一个底层文件系统(参见上面的 (2))。加密意味着:encfs 以加密形式存储您放入其中的数据,如果没有密钥就无法解密。当且仅当其他程序有权访问密钥(这需要保护密钥的密码)时,另一个程序才能读取 encfs 存储的数据。

4) 该fusermount命令设置FUSE挂载点。您通常不会直接调用它,因为 FUSE 文件系统是由用户模式进程实现的,无论如何您都必须启动该进程,并且该进程(例如encfs)将负责设置挂载点。另一方面,卸载 FUSE 文件系统是一项通用操作,您始终可以通过调用fusermount -u.

答案2

1) 不。它通过加密算法转换文件块。移动块意味着您可以看到文件的一些位,只是乱序。不是这种情况。在加密版本中看不到原始文件的任何部分。

2)它不是真正的文件系统,因为它不处理数据的实际存储,它只是转换数据。因此它不必担心文件系统损坏、日志记录、访问权限等问题。所有这些都由底层文件系统处理。

3) A) 这与#2 相同。它只是意味着它不是一个真正的文件系统,它只是看起来像一个。 B) 不,没有直接的方法来映射文件块,请参见#1。加密的数据可以被其他程序读取,但是其他程序需要知道加密密钥。没有这个钥匙就无法读取任何内容。

4)FUSE是Linux中实现文件系统的一种方法。通常,处理文件系统的代码在 Linux 内核中运行。对于 FUSE 文件系统,实际的程序负责运行文件系统。您可以使用ps、 甚至它来查看程序killfusermount只是用于挂载熔丝文件系统的命令。您可以使用普通mount命令挂载 FUSE 文件系统,但fusermount允许非 root 用户挂载该文件系统。

相关内容