使用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!