Linux LUKS加密硬盘分区

LUKS (Linux Unified Key Setup)是 Linux 硬盘加密的标准。 通过提供标准的磁盘格式,它不仅可以促进发行版之间的兼容性,还可以提供对多个用户密码的安全管理。 与现有解决方案相比,LUKS 将所有必要的设置信息存储在分区信息首部中,使用户能够无缝传输或迁移其数据。
 
环境:
 
OS: CentOS Linux release 7.9.2009
kernel:3.10.0-1160.11.1.el7.x86_64
tool:cryptsetup
 
cryptsetup是基于分区的加密,大部分的发行版本已经内置了相关的软件包。
 
本例的加密测试是两块70G的硬盘使用LVM管理,创建了一个LV为iclound,使用cryptsetup对其加密操作。
 
操作步骤:
 
基于口令:
 
(1)创建加密
[root@CentOS ~]# cryptsetup luksFormat /dev/data/iclound
 
WARNING!
========
这将覆盖 /dev/data/iclound 上的数据,该动作不可取消。
 
Are you sure? (Type uppercase yes): YES
 
备注:YES一定要大写
输入 /dev/data/iclound 的口令:
确认密码:
(2)创建挂载目录
 
[root@CentOS ~]# mkdir /data
 
(3)创建分区映射
 
[root@CentOS ~]# cryptsetup luksOpen /dev/data/iclound data
输入 /dev/data/iclound 的口令
(4)格式化分区、挂载
 
[root@CentOS ~]# mkfs.ext4 /dev/mapper/data
 
[root@CentOS ~]# mount /dev/mapper/data /data
[root@CentOS data]# blkid /dev/mapper/data
[root@CentOS data]# vim /etc/fstab
增加
 
UUID="f24a662d-2449-484e-91b2-4dfecfaff098" /data ext4  defaults        0 0
(5)设置开机挂载加密分区
[root@CentOS ~]# mkdir -pv /iclound/passwd
[root@CentOS ~]# touch /iclound/passwd/cryptpasswd
[root@CentOS ~]#  cryptsetup luksAddKey /dev/data/iclound /iclound/passwd/cryptpasswd
 
[root@CentOS ~]# vim /etc/crypttab
 
增加
data       /dev/data/iclound     /iclound/passwd/cryptpasswd
 
 
 
基于密钥:
 
(1)生成随机密钥文件
 
[root@CentOS ~]# dd if=/dev/random of=/root/encrypt.key bs=1 count=8192
 
 
(2)创建加密分区
 
[root@CentOS ~]# cryptsetup -s 512 luksFormat /dev/data/iclound
 
(3)添加密钥文件
 
[root@CentOS ~]# cryptsetup luksAddkey /dev/data/iclound /root/encrypt.key
 
 
 
(4)格式化文件系统
 
[root@CentOS ~]# mkfs.ext4 /dev/mapper/data-iclound
 
 
(5)设置开机挂载
 
/dev/mapper/data-iclound       /iclound         ext4    defaults        0 0
 
(6)设置加密自动挂载
 
[root@CentOS ~]# vim /etc/crypttab
 
iclound      /dev/data/iclound     /root/encrypt.key

posted on 2021-01-04 17:29  CyberSecurityBook  阅读(907)  评论(0)    收藏  举报

导航