2012-10-14 46 views
-6

给定一个文件路径,我怎样才能获得它的元数据。这是我的问题:我必须真正隐藏一个文件(即使使用ls -a它也不应该出现在任何地方),我不需要注意它会在它返回时具有相同的状态。现在我虽然如果可以只复制元数据,并存储在某个地方,只写它回来时,我需要,这将解决我的问题如何在内核空间获取文件的元数据 - linux 3.5

  1. 我必须创建元数据的副本,并将其存储在另一个地方。
  2. 我必须能够在需要时复制元数据。

那么如何获取文件的元数据?如果有更好的方法来完全隐藏文件,我该怎么办?

这是一个个人项目,我不会有任何代码上传。

我正在linux内核工作3.5.4v

+0

由于文件子系统的设计对Unix和Linux非常重要,所以隐藏这种方式可能无法轻松可靠地完成文件。然而,我不明白为什么你不能使用临时文件(那些仍然由某些用户空间进程打开的文件,但是是“unlink”文件)。 –

+0

你在做什么是邪恶的,如果不是彻头彻尾的邪恶。我相信你只是在学习,而不是试图利用任何东西或任何人,但它并没有改变你试图做的事情没有正面用途的事实,只有恶意的东西(想象恶意软件,间谍软件,蠕虫,病毒)。即使*你*不会尝试使用这些信息,并不意味着*阅读此问题的所有人都将负责。 –

回答

0

我想到了更多的问题。

当然有特定于文件系统的方式来创建真正隐藏的文件的可能性,但是我对探索这些文件并不感兴趣。但是,还有一种不同的方法可能适合您的需求。

通过拦截系统调用(扩展现有的系统调用,准确地说),您可以实现类似的效果。如果打开的文件解析为不存在的文件,但目录和文件名匹配,而不是失败,则会构建“隐藏”文件的特殊路径,然后打开该文件。

现有的文件将是一个完全正常的文件,只是其他地方。当然,您可以将其放入仅限根目录的目录(drwx------ root:root),并在打开它时省略访问安全检查,以使其“隐藏”。

相关问题