【问题标题】:Apache running as nobody, but whoami shows "root" or my user nameApache 以无人身份运行,但 whoami 显示“root”或我的用户名
【发布时间】:2012-09-11 23:18:13
【问题描述】:

问题是我used ps aux | grep apache 说 apache 正在以无人身份运行。 但后来我使用了exec("whoami"),它给出了不同的结果:root 或 gt。这取决于脚本的所有者。如果脚本归root所有,whoami就是root;如果为 gt 所有,则 whoami 为 gt。 我还检查了httpd.conf,apache用户是nobody,组是nobody。

那么有人可以解释一下吗?

谢谢!

【问题讨论】:

标签: php apache ownership


【解决方案1】:

您正在使用 cgi 或 fast-cgi ,

要成为“nobody”,你需要使用 mod_php(php 作为 apache 模块)

http://php.net/manual/en/security.apache.php

当 PHP 用作 Apache 模块时,它会继承 Apache 的用户 权限(通常是“nobody”用户的权限)。

http://www.php.net/manual/en/security.cgi-bin.attacks.php

使用 PHP 作为 CGI 二进制文件是出于某种原因的设置的一个选项 不希望将 PHP 作为模块集成到服务器软件中(例如 Apache),或者将使用带有不同类型 CGI 包装器的 PHP 为脚本创建安全的 chroot 和 setuid 环境。

还有SuPHPhttps://serverfault.com/questions/7589/how-do-you-run-a-php-script-as-the-owner

【讨论】:

  • 是的,我正在使用 cgi。感谢您的链接!
猜你喜欢
  • 2011-10-03
  • 1970-01-01
  • 2017-04-07
  • 2023-03-25
  • 1970-01-01
  • 2017-07-08
  • 2018-07-02
  • 2017-06-22
  • 1970-01-01
相关资源
最近更新 更多