encFS是挂载式加密文件系统,明文目录仅为运行时视图,真实密文始终存于隐藏目录;初始化前须确认路径为绝对路径、两目录为空、FUSE已加载。

encfs 不是“给文件夹加个密码锁”那种图形化操作,它本质是挂载式加密文件系统——你看到的明文目录只是运行时临时视图,真正加密数据始终存于隐藏目录中。只要记住这点,后续所有行为逻辑就清晰了。
创建加密卷前必须确认的三件事
执行 encfs 命令前,得先确保:目标路径是绝对路径、两个目录都不存在或为空、FUSE 模块已加载。
-
encfs ~/.secret_enc ~/secret是合法写法;encfs ./secret_enc ./secret很可能失败(相对路径在某些 shell 或 systemd user session 下不被识别) - 如果
~/.secret_enc已存在且含文件,encfs会拒绝初始化;若~/secret非空,挂载后内容会被遮蔽(不可见但未删除),极易误判为“数据丢了” - 运行
lsmod | grep fuse,无输出说明 FUSE 未启用——Ubuntu/Debian 通常默认装好,CentOS/RHEL 可能需手动sudo modprobe fuse并确认用户在fuse组里
encfs 初始化时选标准模式还是 paranoia 模式?
标准模式(直接回车)用 AES-128 + 默认参数,适合日常文档、配置备份;paranoia 模式(输 p)强制 AES-256、启用文件名加密、增加 IV 随机性,但性能略低、兼容性稍差(比如某些旧版 encfs 客户端无法读取)。
关键区别在于文件名是否加密:标准模式下,~/secret/report.pdf 在 ~/.secret_enc 中仍能看出 report 这类关键词;paranoia 模式下整个文件名也变成乱码,隐私更强。
如果你只是防同事随手翻看,标准模式够用;若处理审计材料或合规要求(如 GDPR 日志),必须选 p。
挂载后往 ~/secret 写文件,为什么 ~/.secret_enc 里看不到对应密文?
这是最常被卡住的点:挂载成功 ≠ 文件已落盘加密。实际流程是 —— 写入 ~/secret → FUSE 层实时加密 → 存入 ~/.secret_enc → 返回写入成功。所以:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 刚新建文件时,
~/.secret_enc可能延迟几百毫秒才出现新条目(尤其小文件) - 用
cp -r复制大目录时,建议等cp命令返回后再检查~/.secret_enc,否则看到“空”是正常现象 - 若长期无变化,运行
mount | grep encfs确认挂载是否还活着;意外断电或 kill 掉进程会导致挂载残留,此时需先fusermount -u ~/secret再重试
卸载加密目录必须用 fusermount -u,不是 umount
encfs 是基于 FUSE 的用户态文件系统,umount 对它无效,强行使用会报 not mounted 或卡住。唯一正确卸载方式是:
fusermount -u ~/secret
注意:~/secret 必须是挂载点路径,不能写成 ~/secret/(末尾斜杠会导致 “device busy” 错误);卸载后 ~/secret 目录本身还在,但变为空,此时才能安全移动或删除它——而 ~/.secret_enc 才是真正的加密仓库,绝不能删。
容易忽略的细节:如果在 ~/secret 中用编辑器保存过文件,部分编辑器(如 vim)会先写临时文件再 rename,卸载瞬间若 rename 正在进行,可能导致文件损坏。保险做法是卸载前 sync && sleep 1。

















