Shell
Linux 做 STDOUT |STDIN管道將數據寫入磁碟?
我正計劃
zfs load-key pool/set
通過標準輸入傳遞加密密鑰。傳遞的密鑰由另一個 HEX 格式的程序生成,並且數據集被配置為具有keylocation=prompt, keyformat=hex
,因此密鑰可以通過標準輸入傳遞,如下所示someprogram | zfs load-key pool/set
:現在我擔心即使我真的不希望這種情況發生,shell 是否有可能將這個傳遞的密鑰數據寫入磁碟的某個位置?如果在將 STDOUT 傳輸到 STDIN 的過程中將密鑰寫入磁碟的某個位置,那麼它可能會被恢復,因為主 os 磁碟本身並未加密。
管道(或臨時文件系統和命名的 FIFO 管道)似乎不直接寫入磁碟,正如 Glenn Jackman 上面分別在此處和此處所評論的那樣。
但是,敏感數據的寫入可能會通過記憶體交換(或休眠)間接發生,甚至可能比使用者知道要檢查未刪除的未加密文件(除非加密或禁用)更出人意料。