使用redhat的luks分区加密

2011-04-27 12:58


LUKS(linux unified key setup)是一个对磁盘分区进行加密的工具,算法貌似有叫做“双鱼算法”(具体是什么,我忘了……) 命令:

  1. cryptsetup luksFormat /dev/sda15(注意:是个分区),然后就会输入两次密码,
  2. 之后用cryptsetup luksOpen /dev/sda15 xxx(因为LUKS将分区映射成一个xxx,可以在/dev/mapper下看到xxx ),要输入前面的密码才能打开
  3. 对LUKS分区进行格式化,mkfs.ext3 /dev/mapper/xxx后,就可以mount /dev/mapper/xxx /mnt下了
  4. 反挂载就是先umount ,然后cryptsetup luksClose xxx(注意luks紧跟的参数首字母都是大写的哦!)

PS:

这个说一个开机自动挂载LUKS分区的技巧,命令:

vim /etc/crypttab  

加入4列:

xxx   /dev/sda15   /root/keyfile   luks

(映射名,分区,key文件位置,最后一列就是'luks')
cd /root
dd if=/dev/urandom of=keyfile bs=4k count=1
cryptsetup luksAddKey /dev/sda15 /root/keyfile

最后修改/etc/fstab就能开机自动挂载LUKS了……

或许有人会说,我怎么记得有个加密是"cryptsetup -y create xxx /dev/sda15"这个命令在RHEL6中被移除了,虽然这个加密十分安全,使用单向HASH算法,但是唯一的缺点就是不能改密码!!每次改密码只能tar出来然后格式化再加密再tar回去……

汗,LUKS加密也可以对文件进行加密,但是需要把文件losetup成为一个“假分区”,具体百度能搜到,但是我觉得加密一般文件用gpg或者别的加密工具比较方便,写了这么多废话……对不起……