在 Linux 下,mount 本身不直接加密,通常是先创建加密层,再把加密设备 mount 上去。常见做法有以下几种,按使用频率和易用性排序:
# 假设设备是 /dev/sdb1
cryptsetup luksFormat /dev/sdb1
cryptsetup open /dev/sdb1 mydisk
# 生成 /dev/mapper/mydisk
mkfs.ext4 /dev/mapper/mydisk
mount /dev/mapper/mydisk /mnt
umount /mnt
cryptsetup close mydisk
✅ 优点:安全、标准、广泛支持
❌ 缺点:需要整块分区
适合只加密某个目录(如 home)
apt install ecryptfs-utils
mount -t ecryptfs /secret /secret
挂载时会交互式询问:
✅ 优点:目录级
❌ 缺点:配置复杂,维护成本高
apt install encfs
encfs ~/.crypt /mnt/decrypt
✅ 简单
❌ 安全性较差(已不推荐用于新项目)
适合 ext4 文件系统加密目录
# 需要内核和 fsconfig 支持
fscrypt setup
fscrypt encrypt /dir
✅ 原生、性能好
❌ 配置较新,发行版支持不一
mount -o encrypt # ❌ 不存在这种通用选项
Linux 的 mount 没有统一加密参数,加密必须由底层提供。
| 场景 | 推荐 |
|---|---|
| 整块硬盘 / U盘 | LUKS |
| 只加密 home | LUKS + pam / eCryptfs |
| 云服务器数据盘 | LUKS |
| 临时目录 | gocryptfs(现代替代 EncFS) |
如果你能说一下:
我可以给你一份可直接复制执行的完整命令。