Linux分区加密常用 LUKS(Linux Unified Key Setup) 标准,通过 cryptsetup 工具实现,步骤如下:
确保系统安装 cryptsetup(多数发行版默认安装):
# Debian/Ubuntusudo apt update && sudo apt install cryptsetup# CentOS/RHELsudo yum install cryptsetup用 fdisk 或 parted 创建新分区(如 /dev/sdb1),注意:加密会清除分区数据:
sudo fdisk /dev/sdb# 操作:n(新建分区)→ p(主分区)→ w(保存)sudo partx -a /dev/sdb# 重新加载分区表使用 cryptsetup luksFormat 加密分区(需输入强密码):
sudo cryptsetup -v -y --cipher aes-xts-plain64 --key-size 512 luksFormat /dev/sdb1# 参数说明:# - aes-xts-plain64:推荐加密算法(高强度)# - --key-size 512:密钥长度(可选256/512)通过 luksOpen 映射为虚拟设备(如 /dev/mapper/secure_partition):
sudo cryptsetup luksOpen /dev/sdb1 secure_partition# 输入密码后,分区会映射到 /dev/mapper/secure_partition格式化虚拟设备为文件系统(如 ext4),并挂载到指定目录:
sudo mkfs.ext4 /dev/mapper/secure_partitionsudo mkdir /mnt/securesudo mount /dev/mapper/secure_partition /mnt/secure编辑 /etc/crypttab 和 /etc/fstab 实现开机自动解密挂载:
secure_partition /dev/sdb1 /root/key(/root/key 为密码文件路径)。UUID=$(blkid /dev/sdb1 | cut -d'"' -f2) /mnt/secure ext4 defaults,luks 0 0。使用完毕后,卸载并关闭加密分区:
sudo umount /mnt/securesudo cryptsetup luksClose secure_partitioncryptsetup luksHeaderBackup 备份分区头信息,防止硬件故障导致数据丢失。以上步骤参考自 。