You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Java确保tmpfs挂载中的数据彻底删除且无法恢复?

关于tmpfs挂载文件安全删除的Java实现疑问

我的服务使用了一个与其他多个服务共享的tmpfs挂载,需要确保删除后的文件无法再被访问。在传统硬盘上我会用srm或shred工具,现在的思路是:针对tmpfs挂载,删除文件前先用零值覆盖其占用空间(仅单次覆盖,不需要随机值),以此确保内存中没有残留数据。

补充背景

  • 文件最大可达300MB
  • 服务运行在多租户环境,数据仅允许在有限时间内可访问
  • 共享同一tmpfs挂载的服务都属于单一租户,但同一主机上运行多个这类基于Podman/Docker的服务

我希望降低内存内容被读取时的信息泄露风险,由于服务核心是Java开发,我想到两种实现方案:

  • 使用RandomAccessFile.writeBytes方法
  • 使用Files.newOutputStream,仅指定CREATE选项(默认选项包含TRUNCATE_EXISTING,可能导致写入无法真正覆盖内容)

两种方案我都会创建一个小型byte[],通过多次调用写入方法填充文件,避免创建和文件大小相同的字节数组。

请问这个思路是否合理?有没有推荐方案或经验可以分享?


内容的提问来源于stack exchange,提问作者Kariem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 08:34:52