【Linux】使用cryptsetup进行luks加密
603 字
3 分钟
【Linux】使用cryptsetup进行luks加密

0x00
LUKS (Linux Unified Key Setup)是 Linux 硬盘加密的标准。 通过提供标准的磁盘格式,它不仅可以促进发行版之间的兼容性,还可以提供对多个用户密码的安全管理。 与现有解决方案相比,LUKS 将所有必要的设置信息存储在分区信息首部中,使用户能够无缝传输或迁移其数据。
0x01 准备
sudo apt install cryptsetup0x02 使用
加密磁盘分区
假设现在有磁盘分区 /dev/sdb2
- 格式化磁盘分区为luks
sudo cryptsetup luksFormat /dev/sdb2输入大写YES
输入两次密码
这个时候会对磁盘分区进行全盘覆写,所以速度会比较慢
使用密钥文件(可选):
dd if=/dev/random of=keyfile bs=1K count=16 # 创建一个16k密钥文件,count可以大一点sudo cryptsetup luksAddKey /dev/sdb2 keyfile # 使用密钥文件加密- 映射加密分区
映射加密分区到jmsdb2,实际上是将加密分区映射到linux逻辑分区/dev/mapper/jmsdb2中
sudo cryptsetup luksOpen /dev/sdb2 jmsdb2- 格式化加密分区
之前在1中的格式化是将加密的物理分区格式化为luks,这个时候还需要对加密的逻辑分区格式化为常见的文件系统才可以使用
我这里示例选用ext4
sudo mkfs.ext4 /dev/mapper/jmsdb2结构:┌────────┐│ luks ││┌──────┐│││ ext4 │││└──────┘│└────────┘- 挂载分区
为了正常使用需要将逻辑分区挂载出来作为一个普通目录进行读写
我这挂在到/mnt/jmsdb2
# sudo mkdir /mnt/jmsdb2 # 如果有创建/mnt/jmsdb2可以跳过这一步sudo mount /dev/mapper/jmsdb2 /mnt/jmsdb2至此可以正常在 /mnt/jmsdb2 写数据了
- 卸载分区
如果不想使用了可以对分区进行卸载
sudo umont /mnt/jmsdb2 # 卸载逻辑分区sudo cryptsetup luksClose jmsdb2 #关闭加密分区创建加密文件
如果不想对整个分区加密,那可以在普通磁盘里创建一个加密文件,这样的好处是可以随意移动加密文件
dd if=/dev/zero of=/home/rehtt/cryptfile bs=1M count=1024这里在/home/rehtt/下创建了一个名为cryptfile的文件,块大小(bs)为1M,共有(count)1024个块,也就是1024M
将上面的加密磁盘分区中的/dev/sdb2替换为/home/rehtt/cryptfile再跟着步骤即可
开机自动挂载
首先要使用密钥加密(上述第1步)
编辑/etc/crypttab
# <target name> <source device> <key file> <options>jmsdb2 /dev/sdb2 /home/rehtt/keyfile luks编辑/etc/fstab
/dev/mapper/jmsdb2 /mnt/jmsdb2 ext4 0 0支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或打赏支持!
相关文章智能推荐
1
【杂项】tmpfs
杂项2024-09-25
2
【备忘】nvimdots安装及配置(持续更新)
杂项2023-11-23
3
【网络】Caddy + PHP7.3
杂项2019-11-05
4
【树莓派】使用GPS模块
树莓派笔记2019-07-31
5
【树莓派】使用BerryBoot安装多系统
树莓派笔记2019-05-13
随机文章随机推荐















加载更多…