我希望能够运行 PHP 命令,在系统功能 exec 或其他任何情况下,但使用与 www-data 不同的用户。操作系统:Ubuntu Server 10.10 Web 服务器:Apache2
我已经搜索了几个小时的答案,但毫无进展。大多数人说这是不可能的,其他人也不知道。我想在 PHP 中以不同的用户身份运行命令。这就是我想要的:用户按下一个按钮,启动一个运行 CS Source 服务器的屏幕。该屏幕从 myuser 运行。
希望您能理解我在这里想要什么。另外,我不知道要使用什么函数(系统、执行或其他),所以这里的一些提示也可能会有用。
提前致谢!
答案1
有了SuExec
它你就能做到,更简单的是 suphp,它在 Debian 中有一个包,所以我认为 Ubuntu 也会有它。这似乎是一个合适的介绍当然,sudo
如果只需要一个或两个命令,您也可以使用简单的功能,而不是整个网站都需要不同的用户。最好询问http://www.serverfault.com如果您遇到了这个问题。
答案2
我一直在寻找这个问题的答案,现在终于找到了。解决方案是 apache 模块 mpm-itk。
apt-get 安装 apache2-mpm-itk
然后在虚拟主机文件中添加运行虚拟主机的用户和组:
分配用户标识 web_test web
http://www.debianadmin.com/running-vhosts-with-apache2-mpm-itk-on-debian.html