Linux文件级加密是敏感数据落地的刚性要求,fscrypt实现内核原生自动加解密,OpenSSL/GmSSL支持SM4国密合规,eCryptfs提供运维友好的用户目录加密,且必须叠加权限控制与审计。
Linux 文件级加密不是“选配”,而是敏感数据落地时的刚性要求。它不依赖整盘挂载,也不需要用户每次手动解密设备,而是让单个文件或目录在读写过程中自动加解密——既保障合规,又兼顾可用性。
用 fscrypt 实现内核原生文件级加密
fscrypt 是 Linux 内核(≥4.1)内置的文件系统加密框架,支持 ext4、F2FS 等主流格式,无需额外模块即可启用,且密钥由内核密钥环管理,安全性高、性能损耗小。
tune2fs -l /dev/sdX1 | grep "Filesystem features",输出中需含 encrypt sudo tune2fs -O encrypt /dev/sdX1 mkdir /data/secfiles dd if=/dev/urandom of=/root/keyfile bs=1 count=32 sudo keyctl add user fscrypt:0x$(md5sum /root/keyfile | cut -d' ' -f1) "$(cat /root/keyfile)" @u
sudo fscrypt encrypt /data/secfiles用 OpenSSL + SM4 加密单个高敏文件(国密合规场景)
金融、政务等敏感行业必须满足《GM/T 0002-2012》《GM/T 0005-2021》要求,不能只用 AES。OpenSSL 3.0+ 或 GmSSL 支持 SM4-SM3 组合:
openssl version 输出含 GmSSL openssl enc -sm4 -pbkdf2 -md sm3 -iter 100000 -salt -in config.yaml -out config.sm4.enc -pass pass:Sec@2026
-iter 和 -md 显式写入脚本,避免遗漏 用 eCryptfs 快速加密用户私有目录(运维友好型)
适合办公终端、开发环境等对部署速度和兼容性要求高的场景,登录即挂载、登出即卸载,操作零学习成本:
sudo apt install ecryptfs-utils(Debian/Ubuntu)或 sudo yum install ecryptfs-utils(RHEL/CentOS) Private 文件夹: ecryptfs-setup-private # 按提示输入登录密码,自动配置挂载点 ~/Private
~/Private 自动解密可见;登出或重启后内容恢复为密文,原始文件不可读 .ecryptfs 配置目录和挂载密码,否则密钥丢失即数据不可恢复 权限联动不能少:加密 ≠ 权限安全
即使文件已加密,若进程以 root 权限运行,仍可能绕过加密直接读取内存或缓存。必须叠加 Linux 原生权限控制:
chmod 700 /data/secfiles、chown appuser:appgroup /data/secfiles auditctl -w /data/secfiles -p rwxa -k secfiles_access 不复杂但容易忽略