Linux下创建虚拟分区并对虚拟分区进行磁盘加密的操作步骤
今天了解了下Linux环境下的磁盘加密的一些方法,通常使用cryptsetup工具进行磁盘加密需要对一个未使用的分区才能生效。而实际测试环境下是没有可以用的分区的,也无法从扩展分区中进行逻辑分区。因此考虑是否可以像windows环境下使用镜像文件映射一个分区出来,发现linux下使用镜像文件映射非常简单。以下是具体的操作步骤:
1 //使用dd工具生成10M的镜像文件,test.img即为镜像文件
//只第一次使用时需要文件生成,否则之前的数据会丢失
dd if=/dev/zero of=test.img bs=1M count=10
2 //将镜像文件映射称设备
losetup /dev/loop0 test.img //此时使用fdisk -l 可以看到/dev/loop0的disk
3 //使用cryptsetup加密设备,如果没有可以atp install cryptsetup进行安装
//只第一次使用时需要执行此步骤
cryptsetup -v -y -c aes-cbc-plain luksFormat /dev/loop0
//执行上述命令,根据提示输入大写的YES(必须为大写),然后输入密码
4 //打开加密设备
cryptsetup luksOpen /dev/loop0 hpbkey
//执行完成后,会在/dev/mapper 下生成 hpbkey
5 //格式化,只第一次使用时需要格式化
mkfs.ext3 /dev/mapper/hpbkey
6 //挂载设备
mount /dev/mapper/hpbkey /mychain/data1
7 //接下来就可以使用了
//可以在mychain/data1中增加,删除,修改文件和文件夹
8 //使用完成后卸载设备
umount /mychain/data1
9 //关闭加密设备,这一步很关键,关闭后再次打开需要输入密码确认,不关闭的话,其他人就可以直接挂载了
cryptsetup luksClose hpbkey
10 //取消映射
losetup -d /dev/loop0
11 //之后再次使用只需要映射文件,打开加密设备,挂载即可
losetup /dev/loop0 test.img
cryptsetup luksOpen /dev/loop0 hpbkey
mount /dev/mapper/hpbkey /mychain/data1 //可以查看目录下,之前放到data1目录下文件都还在
12 //使用完之后,记得卸载和关闭加密
umount /mychain/data1
cryptsetup luksClose hpbkey
losetup -d /dev/loop0