Linux磁盘加密
很多时候数据要比物理硬件重要的多,所以如果我们的硬盘或者电脑(笔记本)丢了的话,那么数据也可能要被别人盗取。linux磁盘加密 rhce RHCE6
为了数据的安全,我们可以对磁盘来进行加密。Windows里可以用Bitlocker来实现,那么在linux里可以用cryptsetup来实现。
原理:
正常情况下我们要使用一个分区,必须要先把它挂载到某一个目录里才能使用,但如果我们使用cryptsetup对分区进行了加密后,这个分区就不再允许直接挂载。如果要使用这个分区,必须对这个分区做一个映射,映射到/dev/mapper这个目录里去,我们只能挂载这个映射才能使用。然而做映射的时候是需要输入解密密码的。
下面就开始来做具体的实验:
我系统中的分区如下图
正常的话,我们可以直接挂载/dev/sda3使用:
下面开始进行加密/dev/sda3,如下图
出现警告,回损害/dev/sda3里面的数据,我们敲入大写的YES(记住是大写),然后输入两遍加密密码。
现在这个分区已经不能再直接挂载:
如果要使用,必须要先做一个映射,映射到/dev/mapper下,步骤如下:
做映射的时候必须要输入解密密码,如果密码错误将映射不成功,上图,我输入两边错误的密码,第三遍为正确密码。
此时在/dev/mapper下面就有了一个文件/dev/mapper/rhce
/dev/mapper/rhce是我们刚刚做出来的映射,它是/dev/dm-0的一个软连接,然后格式化:
Mkfs.ext4 /dev/mapper/rhce (或者 mkfs.ext4 /dev/dm-0)
我们现在可以直接挂载 /dev/mapper/rhce 或者 /dev/dm-0
我们可以查看一下映射的状态:
当然这个时候把我们的硬盘拿到其他电脑上使用,如果没有密码的话是没法使用的,除非格式化(但数据也会丢失),但如果得到的是我们的电脑,我们已经做好了映射,那么他们就可以直接使用了,也没有安全性可言。所以当我们使用完这块分区的话,我们可以把映射删除掉,下次使用的时候再做映射。射出映射的命令如下:
当然我们也没有必要删除它,也可以直接把这个映射暂停掉:
如果要恢复的话,可以使用一下命令:
如果希望这个映射能在开机的时候自动挂载,那么要写入/etc/fstab里面去:
但这个时候系统在启动的时候,会等待你输入密码:
(这个是之前截的图,用的是/dev/sdb1做的实验)
我们必须要输入密码,系统才会继续启动。
如果希望系统启动的时候我们不需要输入密码的话,我们可以先把密码写到一个文本文件里去,系统再启动的时候自动读取这个文件即可:
编辑/etc/crypttab: vim /etc/crypttab 写入:
第一列为映射名,第二列是分区名, 第三列是密码文件。
写完保存并退出,系统再启动的时候就不需要输入密码,而是直接读取配置文件里的密码。
以上步骤也可以用其他命令替代:
Cryptsetup create = cryptsetup luksFormat + cryptsetup luksOpen
Cryptsetup luksClose = cryptsetup remove
更多的用法,大家可以查看manpage : man cryptsetup