首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Apache,suexec,PHP,suPHP

Apache,suexec,PHP,suPHP
EN

Server Fault用户
提问于 2010-04-02 18:59:22
回答 1查看 2.8K关注 0票数 13

虽然作为一个Linux用户,我很舒服,但我的Linux管理员有点软弱。因此,我在这里寻找我将要构建的CentOS服务器的指导。

我需要为我们的一些客户端设置一个Apache2 web服务器。我希望每个客户端的web内容都在他们的主目录下(USERDIR in apache.conf,对吗?)用于静态HTML站点。我希望Apache作为客户机运行(suexec?)。他们的一些东西将是PHP应用程序,我的印象是,我也想看看suphp

因此,基本上我想看上去像一个小型的共享网络托管公司。考虑到这些问题是多么普遍,我想我很容易就能找到一个很好的解决方案--如何指导这一切,但到目前为止,我运气还很差。我怀疑我的搜索词被删除了。

因此,问题(请随意回答任何或全部):

  1. 谁有一些与当前/现代指南的坚实联系,可以帮助我建立这一切?不,apache文档站点不是指南;-)
  2. 由于我混合了静态站点和PHP应用程序,所以我需要/需要同时安装suexec和suphp吗?如果是的话,这是否带来了我应该意识到的任何挑战?
  3. 我是否应该考虑其他选项,而不是suexec和suphp?

我计划给最终用户SSH、SFTP或SCP访问他们的东西(如果有任何影响)。

提前谢谢你的帮助。

编辑 --我应该更早地提到这一点:我追求模仿共享主机提供商的一个关键目标是与文件权限和所有权相关的。我真的很想避免教用户需要更改这些东西,只为了看到他们的添加/更改。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2010-04-02 22:18:35

使用suexec和suphp执行与默认不同类型的权限分离。

默认的做法是将用户的权限与web服务器分开。也就是说,用户拥有这些文件,他必须授予web服务器查看和更改这些文件的权限。

suexec/suphp模型是when服务器(在运行脚本时)在用户帐户下运行,因此网站有权做任何用户有权做的事情。在某种程度上,这消除了用户和box服务器之间的分离,但作为交换,它执行了一种不同的分离:即一个用户的网站与同一框中不同用户的网站之间的分离。

默认情况下,PHP总是在Apache的用户帐户下运行,因此一个网站的PHP脚本可以访问其他站点的PHP脚本能够访问的任何文件。因此,如果服务器上的一个帐户被黑客攻击,感染就会蔓延到其他帐户。SuPHP阻止了这一点。

suexec和suphp都不会影响apache提供静态内容的方式。所有的旧规则仍然适用。相反,suexec和suphp将更改CGI和PHP (分别)将在其中运行的帐户。Suexec使CGI在所有者的帐户下运行,而SuPHP使PHP脚本在所有者的帐户下运行。

Suexec和SuPHP并不一定更好。他们只是不一样。他们不会阻止一个网站被黑客攻击(而且可以说可以让网站更容易被黑客攻击),但是他们会阻止一个网站上的妥协传播到其他网站上。对于站点管理员来说,这种隔离可以说是更重要的,这就是为什么某些共享主机系统将suexec和suphp默认。

一个非常常见的“棘手问题”是,SuPHP在脚本运行之前检查脚本的所有权和权限,如果权限不合适,将返回500个错误。

特别是:

  • 文件的所有者和组必须与网站所有者匹配(在apache配置中设置)
  • 该文件不能是全局可写的。
  • 父目录不能是全局可写的。
票数 15
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/128886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档