用Cryptmount保护文件系统和交换空间

豆豆网   技术应用频道   2008年03月28日  【字号: 收藏本文

内容摘要:Cryptmount允许你加密文件系统和交换空间,一个加密的文件系统能象一个正常的文件系统一样存储在一个块设备上—例如,使用/dev/sda2—或者在另一个文件系统中的一个正常文件。

  一旦文件系统被卸载,你就不能再使用cryptmount --unmount my-encrypted-file命令,因为cryptmount将告诉你文件系统还没有被挂载,解决办法是使用--release选项来告诉cryptmount释放它通过其他方法已经卸载掉的资源。

  上面讨论到的加密文件系统使用的是ext3,你可以在/etc/cryptmount/cmtab中自己指定文件系统(ext2,ext3,XFS等)。cryptmount-setup将创建一个cmtab。

$ cat /etc/cryptmount/cmtab
...
# entry automatically generated by setup-script:
my-encrypted-files {
  dev=/home/crypto.fs
  dir=/home/crypt
  fstype=ext3
  fsoptions=defaults
  cipher=aes
  keyformat=builtin
  keyfile=/etc/cryptmount/my-encrypted-files.key
}

  dev选项指出了块设备的名字或存储加密文件系统的文件名,dir选项指出了加密文件系统真实的挂载点,fstype指出了文件系统的类型,fsoptions指出了与在fstab中一样的文件系统选项,keyformat意思就相当明了。请查看cmtab的帮助文档(http://cryptmount.sourceforge.net/man-cmtab.html)了解全部描述。keyfile指定了在一个USB闪存盘里存储密钥文件,这样可以保证密钥与机器分离。

  cipher选项让你选择一个加密算法,默认是aes,对所有用户来说它都工作得很好。下面的命令显示了你正在运行的内核支持cipher。如果你有其他的加密算法集成到你的内核中,或当前载入的内核模块中,它将显示在/proc/crypto中。要查看内核模块中哪个选项是可用的,使用modprobe载入它,然后在/proc/crypto中检查它的信息。

$ ls -l /lib/modules/$(uname -r)/kernel/crypto/
$ cat /proc/crypto
...
$ sudo modprobe twofish
$ cat /proc/crypto
name     : twofish
driver    : twofish-generic
module    : twofish
priority   : 100
refcnt    : 1
type     : cipher
blocksize  : 16
min keysize : 16
max keysize : 32

来源:51CTO    作者:黄永兵    责编:豆豆技术应用

正在加载评论...