Vas*_*ass 3 command-line filesystems encryption fuse
我对计算机科学概念没有深入的理解,但想更多地了解实用程序encfs 的工作原理。我有几个关于encfs的文件系统概念的问题。据说 encfs 是一个加密文件系统wiki 链接。
1)加密文件encfs正在围绕要加密的文件块移动,所以我是否正确地将文件的这个“加扰”版本视为一个新的视角,它证明了新文件系统的术语是合理的?
2) 在encfs的手册页中的CEEVEATS 链接到encfs在线的man 部分,它说encfs不是真正的文件系统。我该如何理解这一点?那是因为encfs的文件系统中缺少所有文件系统共有的一些必要功能吗?还是因为其他更实质的原因?
3)手册页说它创建了一个虚拟加密文件系统。这里有两个问题;是什么使它成为虚拟的?它是文件系统中的文件系统吗?并且加密是没有一种直接的方法可以将文件块映射到其他程序可以读取的格式?
4)fusermount命令与encfs 有什么关系?
我认为在你的描述背后,存在一种误解。未加密的数据在任何时候都不会存储在磁盘上。当你写入 encfs 文件系统中的文件时,写入指令进入encfs进程;该encfs过程加密数据(在内存中)并将密文写入文件。文件名以及文件内容都经过加密。读取文件经历了相反的过程:encfs从磁盘文件中读取加密数据,在内存中解密,然后将明文传递给请求应用程序。
当您运行该encfs命令时,它不会解密任何数据。它仅使用您提供的密码来解锁文件系统的密钥。(这实际上是一个解密操作,从密码学的角度来说,但与文件数据发生的情况不同。我不会在这里详细介绍。)
1) Encfs 并不完全是“移动块”;它在读取块时正在解码块。Encfs 是一个文件系统,因为它的行为就像一个文件系统:当它被挂载时,你可以在上面存储文件。
2) Encfs 不是“真正的”文件系统,因为它不能独立工作。Encfs 只提供了一个加密层;它使用底层文件系统来实际存储数据和元数据(元数据是关于文件的辅助信息,例如权限和修改时间)。
3)虚拟文件系统是另一种说法,encfs 本身不存储任何数据,它需要一个底层文件系统(参见上面的(2))。加密意味着:encfs 以加密形式存储您放入其中的数据,没有密钥就无法解密。另一个程序可以读取 encfs 存储的数据,当且仅当该其他程序有权访问密钥(这需要使用保护密钥的密码)。
4) 该fusermount命令设置一个 FUSE 挂载点。您通常不会直接调用它,因为 FUSE 文件系统是由用户模式进程实现的,无论如何您都必须启动该进程,并且该进程(例如encfs)将负责设置挂载点。另一方面,卸载 FUSE 文件系统是一种通用操作,您始终可以通过调用fusermount -u.
| 归档时间: |
|
| 查看次数: |
1756 次 |
| 最近记录: |