Linux中的存储设备的加密: 保障用户信息安全
我们以虚拟机中存在的硬盘/dev/vdb为例:(至于硬盘的分区详情请看https://mp.csdn.net/postedit/83834900)
第一步是查看我们的硬盘是否被分过区,没分过给它分区,分过的话直接开始实验:
查看硬盘分区信息:
fdisk -l
可以看到本机将vdb硬盘分为了3个主分区和一个拓展分区:
我们以主分区vdb1为例 对它进行加密操作:
cryptsetup luksFormat /dev/vdb1(设备名称) #对/dev/vdb1 进行luks加密!
注因为bug原因,此处只能输入大写的YES(后面两行输入自己想要设定的密码,且不能太简单。)
此时加密实际上已经完成了:
cat /proc/partitions观察可识别的设备:
挂载/dev/vdb1设备:(可以看到无法识别vdb1设备,因为设备被加密了)
如果我们想要使用设备,必须先解密:
cryptsetup open /dev/vdb1 westos
被加密过的设备 任意起的一个名字
还需要我们输入第一步设定过的密码:(解密成功)
而且我们可以发现我们原来的硬盘设备变成了虚拟设备:
在 /dev/mapper/目录下:(可以看到我们刚才设定的westos)
我们的设备变为了/dev/mapper/westos
格式化‘新的虚拟设备’以供我们使用(即提供文件系统给设备):
mkfs.xfs(类型) + /dev/mapper/westos (需要格式化的设备)
挂载虚拟设备到/mnt目录:(挂载成功)
挂载情况下在/mnt下建立10个文件:
当我们卸载设备后 /mnt里看不到文件了:
重新挂载又可以看到了:
卸载设备并 关闭解密设备:
可以看到westos观察不到了:
再次挂载虚拟设备可以看到报错:(设备不存在)
想要解密的话我们得需要再重新起一个虚拟设备名:(如下图中新设备名:cool,密码和还是第一次加密设置的密码)
观察虚拟新设备:(cool)
关闭解密设备cool:
通过截取文件来观察加密带来的文件内容的变化:
if=跟的是从哪里截取, of表示放到哪里去(为我们放的同时新建的文件)
可以看到内容出现了LUKS加密的标志:
正常没有加密的文件应该显示下面:(XFSB,xfs的类型)
最后 如何 永久开机挂载虚拟设备:
编写配置文件: /etc/fstab
加入框起来的部分:(退出保存) 可以使程序开机自启
再编写 /etc/crypttab
编写 /root/vdb1pass (让系统识别密码)
为了防止其他人偷看到我们/root/vdb1pass里写的密码,更改文件权限为600:
将密码关联给/dev/vdb1:(此时需要我们输入设定的密码)
上述操作完毕,重启系统,reboot ,查看是否开机自动挂载:
也可以看到我们曾经给设备里面创建的10个文件:
#####如何将加密设备改回普通设备########
第0步: 将上面我们曾经做过的开机永久挂载加密设备文件内容清除掉!
第一步,如果将加密设备挂载了的话,先卸载设备:
第二步:关闭虚拟设备:(关闭cool)
第三步:格式化设备:(此时我们需要加上-f 强制格式化!)
此时我们的设备已经是普通设备了:(普通挂载已经不会报(luks)错了)