Files

在文件中添加數據,但不超出內容?(隱寫術)

  • September 24, 2015

我的目標是將數據從 Linux 作業系統隱藏到*.txt.xml*文件中,並使其在任何作業系統上都可讀。

對於 Apple OS (OS X),我曾經將“秘密”數據寫入文件(實際上是在文件的 Resource Fork 中),但在文件內容之外。範例:一個文件bob.txt,當您使用Text.app打開它時,它會顯示“hello you”,但我將未顯示的文本放入bob.txt(例如:“my_hat_is_redwine”)。

如何使用 Unix/LinuxTerminal 在內容之外“隱藏”文本數據?

條件是: - 打開文件, - 零內容更改。

我一直在尋找 EOF(文件結尾),但它在 Linux 上不存在(EOD 是舊東西,非常舊)。

我想setfattr,這很好,但我確信有更深/更強大的方法。

我的意思是,例如,編輯完整的文件位鏈,並在內容和元數據之間添加位。

您在 MacOSX 上描述的只是將正常數據儲存在文件的數據叉中,並將“秘密”數據儲存在資源叉中。主要的 Linux 文件系統提供了一種更通用的機制,稱為擴展屬性,可以使用setfattr命令編寫並使用getfattr讀取。

例如::

$ echo "Hello, world" > test

$ setfattr -n user.secret -v "Not-easily viewable content goes here" test

$ cat test
Hello, world

$ getfattr -n user.secret test
# file: test
user.secret="Not-easily viewable content goes here"

注意:

  • 擴展屬性被命名空間;使用者定義的屬性名稱必須以user.
  • 您可以並行儲存多個擴展屬性,例如,user.secret1user.secret2
  • 並非所有文件系統都支持擴展屬性:ext2/3/4、xfs、btrfs 支持(但它們需要掛載選項,這可能不是 Linux 發行版的預設選項);其他一些不(例如,tmpfs)

引用自:https://unix.stackexchange.com/questions/229586