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
DLP