LAMP服务器的Linux用户和组

时间:2008-10-06 15:17:18

标签: php linux apache lamp

根据linux用户和组设置LAMP服务器的最佳做法是什么?如果在同一服务器上托管多个站点,最好是让一个用户拥有与apache在同一组中的所有站点源文件(和上载),或者为每个站点拥有不同的用户(以便每个站点都有自己的crontab)?或完全不同的东西?

出于某种原因,这个问题似乎从未在我遇到的PHP / MySQL / Linux书籍中得到解决。

5 个答案:

答案 0 :(得分:1)

在我们的平台上,每个网站的htdocs等都拥有自己的用户。这意味着如果一个站点被泄露,其他站点应该没问题。

答案 1 :(得分:1)

如果这是少量的大型网站,您可能会发现使用Xen之类的服务器将服务器拆分为多个虚拟机是一个比简单地按用户隔离更好的选择。这将改善您网站的隔离,并且如果将来开始变得比其他网站的资源使用量更重,则可以更轻松地将网站移动到自己的硬件上。

答案 2 :(得分:0)

我认为你不想发疯并为cPanel获得WHM,并且可能想要这样做,不加思索。

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

如果您有超过10个域和用户,并希望将帐户隔离到自己的空间,我会考虑在服务器上安装带有VirtualMin的Webmin。这可以在一个不错的免费安装中轻松处理这些类型的问题。否则,你将不得不购买商业产品或手动处理所有东西 - 真正的痛苦,但它可以做(不建议用于商业冒险)。

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

答案 3 :(得分:0)

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

如果您为每个网站使用相同的用户,这意味着来自websiteA的用户可以访问对websiteB文件的读/写。

答案 4 :(得分:0)

我做了几年的小型托管,我的答案是"它取决于"。

首先,Apache Module(mod_php)之间存在差异。 CGI和FastCGI。 可以在这里找到一个包含所有优点和缺点的好列表: Apache php modes

在安全性方面,所有模式都有利有弊。

由于我们只托管了相对少量的具有中等流量的域名,因此我决定继续使用mod_php并使用vhost配置。

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

配置vhosts(每个客户一个)允许您以简单的方式关闭域,而无需通过一个荒谬的大httpd.conf挖掘你的方式并在途中产生错误。