温馨提示×

Linux分区如何加密

小樊
53
2025-08-13 04:20:18
栏目: 网络安全

Linux分区加密常用 LUKS(Linux Unified Key Setup) 标准,通过 cryptsetup 工具实现,步骤如下:

1. 安装工具

确保系统安装 cryptsetup(多数发行版默认安装):

# Debian/Ubuntu  
sudo apt update && sudo apt install cryptsetup  

# CentOS/RHEL  
sudo yum install cryptsetup  

2. 准备分区

fdiskparted 创建新分区(如 /dev/sdb1),注意:加密会清除分区数据

sudo fdisk /dev/sdb  
# 操作:n(新建分区)→ p(主分区)→ w(保存)  
sudo partx -a /dev/sdb  # 重新加载分区表  

3. 加密分区

使用 cryptsetup luksFormat 加密分区(需输入强密码):

sudo cryptsetup -v -y --cipher aes-xts-plain64 --key-size 512 luksFormat /dev/sdb1  
# 参数说明:  
# - aes-xts-plain64:推荐加密算法(高强度)  
# - --key-size 512:密钥长度(可选256/512)  

4. 打开加密分区

通过 luksOpen 映射为虚拟设备(如 /dev/mapper/secure_partition):

sudo cryptsetup luksOpen /dev/sdb1 secure_partition  
# 输入密码后,分区会映射到 /dev/mapper/secure_partition  

5. 格式化与挂载

格式化虚拟设备为文件系统(如 ext4),并挂载到指定目录:

sudo mkfs.ext4 /dev/mapper/secure_partition  
sudo mkdir /mnt/secure  
sudo mount /dev/mapper/secure_partition /mnt/secure  

6. 开机自动挂载(可选)

编辑 /etc/crypttab/etc/fstab 实现开机自动解密挂载:

  • /etc/crypttab:添加 secure_partition /dev/sdb1 /root/key/root/key 为密码文件路径)。
  • /etc/fstab:添加 UUID=$(blkid /dev/sdb1 | cut -d'"' -f2) /mnt/secure ext4 defaults,luks 0 0

7. 关闭加密分区

使用完毕后,卸载并关闭加密分区:

sudo umount /mnt/secure  
sudo cryptsetup luksClose secure_partition  

关键注意事项

  • 密码安全:务必使用强密码,丢失后无法恢复数据。
  • 备份密钥:可通过 cryptsetup luksHeaderBackup 备份分区头信息,防止硬件故障导致数据丢失。
  • 性能影响:加密会轻微降低磁盘读写速度,建议选择适合硬件的算法(如 AES-XTS)。

以上步骤参考自 。

0