使用FUSE的文件系统

这里将介绍使用从普通发布版中可以获取的FUSE的文件系统。


sshfs


将可以把SSH远程登录的机器的目录挂载到本地机器上,在与远程服务器频繁进行文件交换时非常便利。例如,将remote主机的admin用户的foo目录挂载到本地的~/remote-foo时,命令行如下。类似一般的SSH,同样要求输入密码。


$sshfs hshimamoto@remote:foo~/remote-foo


在此之后,对本地机器的~/remote的foo目录进行的处理就是对远程机器remote的foo目录的处理。

fuseiso

挂载ISO映像文件。一般挂载ISO映像时是使用loopback设备进行挂载的,但有时普通用户权限是无法操作loopback设备的。另外loopback设备还存在可利用次数的限制。使用fuseiso,就可以很简单地将ISO映像挂载到自己的文件系统,并参照其内容。


fuseiso foo.iso~/iso


encfs

加密文件系统。用户将特定目录加密,然后挂载将该目录解密后的文件系统。

已加密的文件(目录)名和内容通过文件系统生成时指定的算法加密,但需要注意的是,目录中的文件数或文件大小、属性等不会因为加密而修改。

命令示例如下。创建目录enc-foo,并挂载为dec-foo。


$mkdir~/enc-foo

$mkdir~/dec-foo

$encfs~/enc-foo~/dec-foo


首次挂载加密目录时,将进行加密的初始设置。将显示如下信息,输出用来进行加密设置的提示符。

生成新的加密卷标。


Please choose from one of the following options:

enter"x"for expert configuration mode,

enter"p"for pre-configured paranoia mode,

anything else, or an empty line will select standard mode.?>


针对详细的设置这里不作介绍。直接按【Enter】键,使用默认设置。


Standard configuration selected.


设置已完成。生成下列属性的文件系统:


文件系统加密算法:"ssl/aes",版本3:0:2

Filename encoding:"nameio/block",version 3:0:1

键大小:192位

Block Size:1024 bytes

Each file contains 8 byte header with unique IV data.

Filenames encoded using IV chaining mode.

File holes passed through to ciphertext.

Now you will need to enter a password for your filesystem.

You will need to remember this password, as there is absolutely

no recovery mechanism.However, the password can be changed

later using encfsctl.

新的Encfs密码:

确认Encfs密码:


再设置用来加密、解密的密码就完成了。尝试在dec-foo目录下创建文件。


$vi~/dec-foo/bar.txt

$cat~/dec-foo/bar.txt

Hello Encfs!


卸载dec-foo后,就难以用普通的方法来参照这个加密目录。


$fusermount-u~/dec-foo


看一下enc-foo目录,可以发现由于已经加密,因此内容不是文本,而是二进制数据。


$ls enc-foo/

QQJqAaAW-hx1QiWGH8fRHplZ

$fle enc-foo/QQJqAaAW-hx1QiWGH8fRHplZ

enc-foo/QQJqAaAW-hx1QiWGH8fRHplZ:data


再次使用encfs命令进行挂载时,这次只要求输入密码。


$encfs~/enc-foo~/dec-foo

EncFS密码:

$ls dec-foo/

bar.txt

$cat dec-foo/bar.txt

Hello Encfs!