我的目标是将数据隐藏到。TXT和.xml来自 Linux 操作系统的文件,并使其在任何操作系统上都可读。
在 Apple OS (OS X) 中,我曾经将“秘密”数据写入文件中(实际上是在文件的资源分支中),但写入文件的内容之外。示例:一个文件鲍勃.txt,当你打开它时文本应用程序它显示“你好”,但我将未显示的文本放入鲍勃.txt(例如:“我的帽子是红葡萄酒”)。
如何使用 Unix/Linux 终端在内容之外“隐藏”文本数据?
条件是: - 打开文件, - 零内容更改。
我一直在寻找 EOF(文件结尾),但它在 Linux 上不存在(EOD 是一个老东西,非常老)。
我想setfattr
,这很好,但我确信还有更深/更强的方法。
我的意思是,例如,编辑完整的文件位链,并在内容和元数据之间添加位。
答案1
您在 MacOSX 上所描述的只是将常规数据存储在数据分叉文件中的“秘密”数据资源叉。主要的 Linux 文件系统提供了一种更通用的机制,称为扩展属性,可以使用设定值命令并使用读回获取法特。
例如::
$ 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.secret1
,user.secret2
- 并非所有文件系统都支持扩展属性:ext2/3/4、xfs、btrfs 都支持(但它们需要一个安装选项,该选项可能不是 Linux 发行版上的默认选项);其他一些则不需要(例如 tmpfs)