查找 PHP 文件的创建者

查找 PHP 文件的创建者

我正在使用类似 Linux 的系统操作员运行几个网站。

我如何才能找到文件的创建者?例如:通过 FTP 上传、由 shell 创建、使用 HTML 表单上传,等等?

谢谢大家!

答案1

除非你对所有可能创建文件的内容进行了妥善的记录,否则你无法轻易看到文件的来源。在文件系统中,你只能看到谁在何时创建了文件,但看不到通过什么方式创建了文件,除非你使用了配置非常严格的 selinux,但我对此不太了解。

基础知识:

  1. 该文件由某个进程写入。
  2. 该进程在某个用户 ID 下运行。就是这样。

例如,对于 Web 服务器来说,可能存在几种情况:它可以完全以一个用户的身份运行(例如,nobody、www 等),也可以以每个站点一个用户的身份运行(使用 suexec)。PHP 也可能由 Web 服务器运行,它可以作为 Web 服务器模块运行,通过 CGI 运行,……,每种情况都不同。我不会在这里讨论运行它的最佳方式是什么。

当您谈论 HTML 表单时,表单本身不执行任何操作。也许您应该阅读一些相关内容。数据仅传输到服务器,然后由某种形式的脚本(如 PHP,见上文)处理。无论通过 Web 服务器运行的脚本创建文件,脚本本身都应包含适当的日志记录。

FTP 与 Web 服务器基本相同。如果您允许匿名上传,则您是匿名用户,或者您以特定用户身份登录,在这种情况下,文件将由该用户 ID 存储,并且 ftpserver 日志中会有痕迹。

因此,除非您确切知道您的机器上发生了什么,否则追踪文件来源也将是一项艰巨的任务。

我不会讨论通过 shell 创建文件的问题。如果你有 shell 用户,你应该已经知道自己在做什么,而且可能不会问这个问题。;)

相关内容