温馨提示×

linux mount如何加密挂载

小樊
39
2026-09-20 15:40:19
栏目: 网络安全

在 Linux 下,**“加密挂载”**通常指 挂载一个加密的文件系统/磁盘。常见做法有以下几种,按使用频率和场景给你总结:


一、用 LUKS + dm-crypt(最常用、最推荐)

适合:整盘 / 分区 / 加密文件容器加密

1️⃣ 对分区加密(例如 /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

2️⃣ 用文件作为加密容器(不分区)

# 创建 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/旧系统),不推荐用于安全场景。


三、eCryptfs(用户级目录加密)

适合:只加密某个目录(如 /home/user

mount -t ecryptfs /secret /secret

会交互式询问:

  • 密码
  • 加密算法
  • 是否明文文件名

⚠️ 配置较复杂,Ubuntu 曾默认使用。


四、fscrypt(ext4 / f2fs 原生加密)

适合:现代 ext4 目录级加密

# 启用
fscrypt setup
fscrypt encrypt /data

需要较新内核(≥5.x)


五、网络/外部加密挂载(常见组合)

  • SSHFS + 本地加密卷
  • NFS / SMB + LUKS 后端
  • ** VeraCrypt(跨平台)**
    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

如果你能说明:

  • 分区 / 文件 / 目录
  • 是否 开机自动挂载
  • 发行版(Ubuntu / CentOS / Arch)

我可以给你精确命令

0