欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

如何使用Luks加密一块linux磁盘

程序员文章站 2022-04-12 21:43:01
 如果我们有一块磁盘上的信息非常重要,怕让别人给你把磁盘“抽走”了,我们可以加密这块磁盘,即使别人得到这块磁盘,也需要密码才能打开这块磁盘才能查看...

 如果我们有一块磁盘上的信息非常重要,怕让别人给你把磁盘“抽走”了,我们可以加密这块磁盘,即使别人得到这块磁盘,也需要密码才能打开这块磁盘才能查看里边的内容。这样的话能够为我们的数据增加一层保护这个时候我们就用到了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 /secretstuffmount /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=1chmod 600 /root/home-luks-keycryptsetup 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

注意,这个地方需要门输入我们之前的密码,就是第一把钥匙的密码

redhat

然后编辑

vim /etc/crypttabsecret   /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测试