Linux存储管理之磁盘加密

《Linux_管理系统存储》这篇文章讲解了如何划分分区,通过这篇文章可以了解到存储设备要能被使用必须挂载到目录下。我们可以理解为U盘必须插在电脑上才能写入内容。只要设备可以被使用,任何人都可以将该设备挂载后进行操作,所以为了安全起见,可以对磁盘进行加密,只有知道解密密码的人才能解密,而设备只有解密后才能挂载,这样就增加了安全性。
 本篇文章主要讲述的是luks加密方式,是在文件系统和物理设备之间添加加密层。如果将加密层暴力破坏之后,数据就无法进行读取,是一种比较可靠的加密方式。
我在我的主机上划分了一块分区vdb1,至于分区的划分,可以参考《Linux_管理系统存储》这篇文章。使用以下命令对磁盘进行加密:

[root@localhost ~]# cryptsetup luksFormat /dev/vdb1

在这里插入图片描述
 加密时需要添加密码,通过此密码才能对磁盘解密。
 解密时解密后的设备名字就不再是vdb1,需要重新起名,但是实际使用的存储设备还是vdb1。以下命令将vdb1解密为虚拟设备westos/dev/mapper/目录下的设备为虚拟设备:

[root@localhost ~]# cryptsetup open /dev/vdb1 westos

在这里插入图片描述
 物理设备只有在添加文件系统后才能被系统使用。常见的文件系统的格式有ext3 ext4 vfat xfs,下图是给westos设备格式化xfs文件系统,并将其挂载到/mnt/这个目录下。给/mnt/下写入数据,就是给westos中写入数据:

[root@localhost ~]# mkfs.xfs  /dev/mapper/westos 	#格式化文件系统为xfs
[root@localhost ~]# mount /dev/mapper/westos /mnt/	#挂载

在这里插入图片描述
 卸载westos设备之后,并将westos虚拟设备关闭掉,可以理解为对设备进行了加密,westos为vdb1解密后的设备名。关闭westos之后即对vdb1进行了加密,此时/dev/vdb1因为被加密所以不能被挂载使用,如下图:

[root@localhost ~]# umount /mnt/	#卸载
[root@localhost ~]# cryptsetup close westos	#将westos虚拟设备关闭

在这里插入图片描述
 要想使用vdb1这个分区,必须通过密码认证进行解密,才能够被挂载使用。以下命令将/dev/vdb1解密为linux虚拟设备,虚拟设备的名字可以与之前的不同,但是实际的设备就是vdb1就好像笔名一样,一个作家可以有不同的笔名,但这些笔名都指向的是这个作者。解密之后将linux挂载后就可以写入数据,test是将vdb1解密为westos虚拟设备时所创建的文件:

[root@localhost ~]# cryptsetup open /dev/vdb1 linux	#解密为linux虚拟设备
[root@localhost ~]# mount /dev/mapper/linux /mnt/	#挂载

在这里插入图片描述
 可以使用df命令查看挂载信息:
在这里插入图片描述
 命令形式的挂载在系统重启之后就会失效,加密的设备要永久挂载需要考虑两个问题,解密和挂载,可以编辑/dev/crypttab文件,让系统在启动时对加密的/dev/vdb1解密:

[root@localhost ~]# vim /etc/crypttab #加密设备解密
disk /dev/vdb1 /root/vdb1passwd

 disk为解密后的虚拟设备,/dev/vdb1为解密设备,/root/vdb1passwd为记录/dev/vdb1解密密码的文件。该内容表示将/dev/vdb1解密为disk这个虚拟设备,密码记录在/root/vdb1passwd这个文件中。
 vdb1passwd这个文件系统中是么有的,所以创建该文件,将vdb1的解密密码写入,为了安全起见,给该文件600的权限,只有文件所有人才能查看:

[root@localhost ~]# vim /root/vdb1pass	#密码文件
2018westos
[root@localhost ~]# chmod 600 /root/vdb1pass

 除此以外还需要执行以下命令说明/root/vdb1passwd为/dev/vdb1的密码文件:

[root@localhost ~]# cryptsetup luksAddKey /dev/vdb1 /root/vdb1pass

 此时,开机时系统就会自动将加密分区/dev/vdb1解密为disk。要自动挂载disk这个虚拟设备需要将挂载信息写入到/etc/fstab这个文件中:

[root@localhost ~]# vim /etc/fstab
/dev/mapper/disk /mnt xfs defaults 0 0 

 /dev/mapper/disk为挂载的设备 /mnt为挂载点 xfs为设备的文件系统 后面的两个0表示不检测不备份。
 此时系统在启动之后会将vdb1 自动解密为disk并挂载到/mnt下。
 要将加密设备恢复为原来没有加密的设备,首先要将/etc/fstab和/etc/crypttab 两个文件清空,删除密码文件/root/vdb1pass,然后卸载虚拟设备,解密设备,再强制格式化/dev/vdb1为xfs文件系统。

[root@localhost ~]# vim /etc/fstab 	
[root@localhost ~]# vim /etc/crypttab 
[root@localhost ~]# rm -fr /root/vdb1passwd 
[root@localhost ~]# umount /mnt/			#卸载
[root@localhost ~]# cryptsetup close /dev/mapper/disk 	#关闭虚拟设备
[root@localhost ~]# mkfs.xfs /dev/vdb1 -f		#强制格式化vdb1为xfs文件系统

在这里插入图片描述
 此时vdb1不需要解密就可以挂载使用,如下图:
在这里插入图片描述
 luks的加密方式安全性相对较高,如果加密层被破坏数据也就无法读取,不至于数据泄露。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值