温馨提示×

centos readdir如何加密

小樊
41
2026-09-15 06:52:01
栏目: 网络安全

CentOS 上,“readdir 如何加密”通常指两类需求之一,我分开说明,你可以按需选择。


一、隐藏/加密目录内容(让 readdir 看不到明文)

✅ 方案 1:使用 eCryptfs(目录级加密,推荐)

适合:用户目录、特定目录加密

安装

yum install ecryptfs-utils

创建加密目录

mkdir /secret
mkdir /secret_plain

mount -t ecryptfs /secret /secret_plain

按提示设置:

  • 加密算法(默认 aes)
  • 密钥类型(passphrase)
  • 是否加密文件名(建议选 yes,防止 readdir 看到文件名

挂载后:

/secret_plain  # 明文
/secret        # 密文(readdir 看到的是乱码)

卸载后:

umount /secret_plain

此时 readdir /secret 只能看到加密数据。


✅ 方案 2:使用 EncFS(用户态加密)

适合:不想动内核、简单使用

yum install encfs
encfs ~/.secret_enc ~/.secret
  • ~/.secret_enc:加密存储
  • ~/.secret:明文访问

readdir 直接看 ~/.secret_enc 是密文。


二、整个磁盘/分区加密(readdir 完全不可见)

✅ 方案 3:LUKS 全盘/分区加密

适合:服务器、云主机

cryptsetup luksFormat /dev/sdb1
cryptsetup open /dev/sdb1 secret
mkfs.ext4 /dev/mapper/secret
mount /dev/mapper/secret /data

未解密前:

readdir /dev/sdb1  # 无意义数据

三、如果你问的是“程序里 readdir 加密”(开发角度)

如果是 C/C++ 程序

  • readdir() 本身不支持加密
  • 正确做法是:
    • 加密底层文件系统(eCryptfs / LUKS)
    • 或在应用层加密文件名 + 内容

示例(伪逻辑):

DIR *d = opendir("/secret_plain");
struct dirent *e;
while ((e = readdir(d))) {
    // e->d_name 已经是解密后的
}

四、推荐总结

需求 推荐方案
单目录加密 eCryptfs
用户级简单加密 EncFS
服务器安全 LUKS
程序级控制 应用层加密

如果你能说明:

  • 系统目录 / 用户目录 / 磁盘
  • 还是 C 程序 readdir 加密
  • CentOS 版本(7 / 8 / Stream)

我可以给你精确到命令级别的方案。

0