我正在尝试使用PHP构建应用程序来帮助我配置新网站。
新网站将始终基于特定的“代码库”,其中包含所有必需的网络文件。 我希望我的PHP脚本将这些Web文件从一个域的网站空间复制到另一个域的网站空间。 单击按钮时,将使用来自其他域的文件填充空的网站空间。 两个域都在同一个Linux / Apache服务器上。
作为一项实验,我尝试在PHP中使用shell和exec命令来执行“root”操作。 (我知道这可以打开主要的安全漏洞,所以这不是我理想的方法。) 但我仍然有类似的权限问题,也无法使用该方法。
但是我在跨域复制时遇到了权限/所有权问题。 也许CGI脚本是一个更好的主意,但我不确定如何处理它。
任何建议表示赞赏。 或者,如果您知道有关此类信息的更好资源,请指向我。 我确信之前已经构建了这种“网站设置”应用程序。
谢谢!
答案 0 :(得分:0)
如果要复制文件,则必须考虑以下因素:
简单(安全性较低)是为所有网站使用相同的用户
否则(如果您想提供不同的访问权限) - 您必须为每个网站创建不同的所有者。您必须为复制的文件设置所有者/组(这将由root完成)。
用于新网站设置: 主域名将以root身份运行,然后它将能够执行新的网站创建,或者如果您不希望主域名为root,则可以执行以下操作: 创建一个cronjob(或在CLI下循环运行的php脚本),将由root执行。例如,它会每隔2分钟检查一些数据库记录,您可以从主域添加一个记录,其中包含新托管网站的设置信息(或者只执行一些获得root访问权限的脚本,并且不使用cron)。
创建此脚本的脚本可以在php中完成。它可以用你想要的任何语言完成,只要获得正确的访问权限就没关系。
在我的情况下,我使用的是同一个用户,因为它们都是我的网站。缺点是操作系统不会创建限制,我的PHP代码会(我失去了不同网站之间用户/组权限的优势)。
请注意open_basedir可能会让您感到麻烦,请确保排除正确的路径(或禁用它)。
另外,fastCGI和suPHP之间存在一些细微差别(我相信它不会给你带来太多麻烦)。