Php LAMP服务器的Linux用户和组

Php LAMP服务器的Linux用户和组,php,linux,apache,lamp,Php,Linux,Apache,Lamp,对于linux用户和组,设置LAMP服务器的最佳实践是什么?如果有多个站点托管在同一台服务器上,那么最好是让一个用户拥有与apache属于同一组的所有站点源文件(和上载),还是让每个站点有一个不同的用户(这样每个站点都有自己的crontab)?或者完全是别的什么 出于某种原因,我遇到的PHP/MySQL/Linux书籍中似乎从未提到过这个问题 在我们的平台上,每个站点的htdocs等都有自己的用户。这意味着,如果一个站点被破坏,其他站点应该可以。如果这是一小部分大型站点,您可能会发现,使用Xen

对于linux用户和组,设置LAMP服务器的最佳实践是什么?如果有多个站点托管在同一台服务器上,那么最好是让一个用户拥有与apache属于同一组的所有站点源文件(和上载),还是让每个站点有一个不同的用户(这样每个站点都有自己的crontab)?或者完全是别的什么


出于某种原因,我遇到的PHP/MySQL/Linux书籍中似乎从未提到过这个问题

在我们的平台上,每个站点的htdocs等都有自己的用户。这意味着,如果一个站点被破坏,其他站点应该可以。如果这是一小部分大型站点,您可能会发现,使用Xen之类的工具将服务器拆分为多个VM比简单地按用户隔离要好。这将提高站点的隔离度,并使站点更容易移动到其自己的硬件上,如果将来一个站点的资源使用量开始比其他站点大得多。

我想您不想发疯,为cPanel获取WHM,并且可能希望以低成本实现这一点

我认为让每个用户从他们自己的用户名和组访问他们的空间是最好的做法,特别是如果不相关的用户可能正在使用Web服务器

如果你有超过10个域和用户,并希望将帐户隔离到它们自己的空间,我会考虑使用VirtualMin安装在服务器上的Webmin。这很容易处理这些类型的问题,在一个漂亮的,免费的安装。否则,你将不得不购买一个商业产品或手动处理一切-这是一个真正的痛苦,但它可以做到(不建议商业企业)


此外,Xen和VMS可能有些过分,但也不像Webmin/VirtualMin那样容易管理10-100多个帐户。

最好的选择是使用Apache和suPHP模块为每个域创建VirtualHost。通过这种方式,每个站点将由一个用户拥有,并在该用户的许可下运行。每个站点的Webroot都应该放在用户的homedir下,以防止本地攻击


如果每个网站都使用同一个用户,这意味着websiteA的用户可以访问websiteB的文件。

几年来,我做了一些小型托管,我的答案是“这取决于”

首先,Apache模块(mod_php)之间存在差异。CGI和FastCGI。 这里有一个很好的列表,列出了所有的优点和缺点:

说到安全性,所有的模式都有优缺点

因为我们只托管了相对较少的具有中等流量的域,所以我决定使用mod_php并使用vhost配置

我还为每个vhost根目录使用了不同的FTP用户(当然)

配置vhost(每个客户一个)可以让您轻松地关闭域,而不必在一个大得离谱的httpd.conf中挖洞,并在中途产生错误