littlebot
Published on 2025-04-09 / 7 Visits
0

【源码】基于FUSE的透明文件加密系统(encfs)

项目简介

这是一个基于FUSE(Filesystem in Userspace)的用户态文件系统,实现了基于SM4 - CTR的透明文件加密。它能让用户在普通文件系统中操作加密文件,无需额外人工加密或解密步骤,还可拦截非法用户和进程,保障文件安全。

项目的主要特性和功能

  1. 文件系统挂载与卸载:借助FUSE库实现,支持允许其他用户挂载的选项。
  2. 加密与解密:运用SM4算法对文件内容进行加密和解密,达成透明加密功能。
  3. 访问控制:通过用户白名单和进程白名单,确保仅授权用户和进程可访问加密文件。
  4. 日志记录:记录文件系统操作日志,便于追踪和审计。

安装使用步骤

环境准备

  • 操作系统:CentOS 7/8
  • 安装依赖库: shell yum install -y fuse fuse-devel openssl openssl-devel

配置FUSE

  • 修改/etc/fuse.conf文件,开启user_allow_other选项: shell vi /etc/fuse.conf

构建项目

  • 复制或下载项目的源代码。
  • 构建项目: shell make all
  • 清理构建: shell make clean

挂载文件系统

  • 使用以下命令挂载文件系统: shell ./bin/encfs <flags> <mount directory> <mirror directory> <keyphrase>
  • 例如: shell ./bin/encfs ./mnt ./test 12345 ./bin/encfs -o allow_other ./mnt ./test 12345
  • 脚本执行挂载:./run.sh

卸载文件系统

  • 使用以下命令卸载文件系统: shell umount <Mount Point>
  • 或者: shell fusermount -u <Mount Point>
  • 脚本执行卸载:./stop.sh

查看挂载信息

  • 执行以下命令查看挂载信息: shell mount cat /proc/mounts

注意事项

  1. 密钥安全:确保密钥安全,防止密钥泄露导致文件解密风险。
  2. 权限设置:注意文件系统挂载点和镜像目录的权限设置,保证仅授权用户可访问。
  3. 错误处理:使用中可能遇错误提示,需根据提示信息处理。

此项目适用于需保护文件安全的场景,如敏感数据存储、备份等,通过透明加密和访问控制,保障数据在存储和传输过程中的安全。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】