Linux 是否通过 STDOUT | STDIN 管道将数据写入磁盘?

Linux 是否通过 STDOUT | STDIN 管道将数据写入磁盘?

我计划zfs load-key pool/set通过 stdin 传递加密密钥。传递的密钥由另一个程序以 HEX 格式生成,并且数据集配置为keylocation=prompt, keyformat=hex这样密钥就可以像这样通过 stdin 传递:someprogram | zfs load-key pool/set

现在我担心的是,shell 是否有可能将传递的密钥数据写入磁盘上的某个位置,尽管我真的不希望发生这种情况?如果在将 STDOUT 传输到 STDIN 的过程中将密钥写入磁盘的某个位置,那么它可能会恢复,因为主操作系统磁盘本身并未加密。

答案1

管道(或临时文件系统和命名 FIFO 管道)似乎确实写入磁盘不是直接正如上文 Glenn Jackman 所评论的那样,这里这里, 分别。

但可能会发生敏感数据的写入间接通过内存交换(或休眠),甚至可能比用户知道检查未删除的未加密文件更出乎意料——除非加密或者已禁用

相关内容