跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

Linux系统下如何实现文件夹加密 使用EncFS加密存储教程【详解】

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
→ 返回写入成功。所以: CentOS Linux 7.9.2009 CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。 下载 刚新建文件时,
~/.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
。

相关文章