Linux 文件系统数据加密全指南
一、方案总览与选型
二、快速上手示例
sudo apt-get install cryptsetup(或 sudo yum install cryptsetup / dnf install cryptsetup)。sudo cryptsetup luksFormat /dev/sdXn(务必确认设备,操作不可逆)。sudo cryptsetup open /dev/sdXn my_encrypted。sudo mkfs.ext4 /dev/mapper/my_encrypted && sudo mount /dev/mapper/my_encrypted /mnt/enc。my_encrypted /dev/sdXn none luks,在 /etc/fstab 添加 /dev/mapper/my_encrypted /mnt/enc ext4 defaults 0 2。sudo apt-get install ecryptfs-utils。mount -t ecryptfs ~/encrypted ~/decrypted,按提示选择加密算法(如 AES)、密钥方式等。fusermount -u ~/decrypted。sudo apt-get install encfs。mkdir ~/enc ~/dec && encfs ~/enc ~/dec,首次运行交互配置。fusermount -u ~/dec。sudo apt-get install gnupg。gpg --output file.gpg --encrypt --recipient alice@example.com file;私钥解密:gpg --output file --decrypt file.gpg。gpg --symmetric --cipher-algo AES256 file。三、场景化推荐
四、关键注意事项
tmpfs/加密交换,避免侧信道泄露。五、常用工具与用途对照表
| 工具 | 加密层级 | 典型用途 | 主要特点 |
|---|---|---|---|
| LUKS/dm-crypt | 块设备 | 全盘/分区/逻辑卷 | 标准、安全、透明,支持开机解锁 |
| eCryptfs | 堆叠式文件系统 | /home 等目录 | 配置简单,POSIX 兼容 |
| EncFS | 用户空间 FUSE | 按需加密目录 | 易用,适合个人与试验 |
| CryFS | 用户空间 FUSE | 云同步目录 | 元数据与块混淆,面向云存储 |
| GnuPG | 文件/归档 | 单文件、传输 | OpenPGP,支持签名与公钥加密 |
| VeraCrypt | 容器/分区/全盘 | 跨平台移动介质 | 多平台、容器与分区皆宜 |