如果我们有一块磁盘上的信息非常重要,怕让别人给你把磁盘“抽走”了,我们可以加密这块磁盘,即使别人得到这块磁盘,也需要密码才能打开这块磁盘才能查看里边的内容。这样的话能够为我们的数据增加一层保护这个时候我们就用到了Luks
首先,我们要有一块磁盘,我做实验用的逻辑磁盘,创建了一个逻辑磁盘
第一步,加密
cryptsetup luksFormat /dev/vg1/lv1
cryptsetupluksFormat /dev/vg1/lv1
输入密码: redhat
第二步,开启,并分配逻辑名称
cryptsetup luksOpen /dev/vg1/lv1 secret
cryptsetupluksOpen /dev/vg1/lv1secret
第三步,创建文件系统
mkfs -t ext4 /dev/mapper/secret
mkfs -t ext4 /dev/mapper/secret
第四步,创建挂载点,并挂载
mkdir /secretstuff
mount /dev/mapper/secret /secretstuff
mkdir /secretstuff
mount /dev/mapper/secret /secretstuff
这个时候我们就可以正常使用这块磁盘了,我们进去创建几个文件
touch {1..10}.txt
touch {1..10}.txt
然后,我们解挂这块磁盘
umount /secretstuff
umount /secretstuff
然后关闭
cryptsetup luksClose secret
cryptsetupluksClosesecret
这就完成了,但是,比如我们要加密的是一个需要挂载的磁盘,我们不能说每次开机都输入一次密码才能挂载,这样的话有点得不偿失了,其实我们加密 的磁盘可以有好几个锁和钥匙,也就是说我们还可以在这块盘上再加一个解秘的钥匙,而这个钥匙是从文本中读取的,每次开机从文本中自动读取数据然后自己解 谜,当然,这个文本要保护好…
下面我们说一下如何操作:
再没有umount的情况下,我们先创建一个密要
dd if=/dev/urandom of=/root/home-luks-key bs=4096 count=1 chmod 600 /root/home-luks-key cryptsetup luksAddKey /dev/vg1/lv1 /root/home-luks-key
ddif=/dev/urandomof=/root/home-luks-keybs=4096 count=1 chmod 600 /root/home-luks-key cryptsetupluksAddKey /dev/vg1/lv1 /root/home-luks-key
注意,这个地方需要门输入我们之前的密码,就是第一把钥匙的密码
然后编辑
vim /etc/crypttab secret /dev/vg1/lv1 /root/home-luks-key
vim /etc/crypttab secret /dev/vg1/lv1 /root/home-luks-key
然后我们修改fstab
/dev/mapper/secret /secretstuff ext4 defaults 1 2
/dev/mapper/secret /secretstuff ext4defaults 1 2
完工
reboot测试