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