在 Linux 下,**“加密挂载”**通常指 挂载一个加密的文件系统/磁盘。常见做法有以下几种,按使用频率和场景给你总结:
适合:整盘 / 分区 / 加密文件容器加密
/dev/sdb1)# 初始化加密(会清空数据)
cryptsetup luksFormat /dev/sdb1
# 打开加密设备
cryptsetup open /dev/sdb1 mydisk
# 格式化
mkfs.ext4 /dev/mapper/mydisk
# 挂载
mount /dev/mapper/mydisk /mnt
卸载:
umount /mnt
cryptsetup close mydisk
# 创建 1G 文件
dd if=/dev/zero of=enc.img bs=1M count=1024
# 加密
cryptsetup luksFormat enc.img
cryptsetup open enc.img myfile
mkfs.ext4 /dev/mapper/myfile
mount /dev/mapper/myfile /mnt
mount -o encrypt(仅限某些文件系统)⚠️ 不是通用加密,仅少数 FS 支持(如 FAT/旧系统),不推荐用于安全场景。
适合:只加密某个目录(如 /home/user)
mount -t ecryptfs /secret /secret
会交互式询问:
⚠️ 配置较复杂,Ubuntu 曾默认使用。
适合:现代 ext4 目录级加密
# 启用
fscrypt setup
fscrypt encrypt /data
需要较新内核(≥5.x)
veracrypt --text --mount enc.hc /mnt
/etc/crypttab + /etc/fstab
# /etc/crypttab
mydisk UUID=xxxx none luks
# /etc/fstab
/dev/mapper/mydisk /mnt ext4 defaults 0 2
| 场景 | 推荐方案 |
|---|---|
| 整盘 / 分区 | ✅ LUKS |
| 文件容器 | ✅ LUKS + 文件 |
| 目录加密 | eCryptfs / fscrypt |
| 跨平台 | VeraCrypt |
如果你能说明:
我可以给你精确命令。