代码之家  ›  专栏  ›  技术社区  ›  DavidWinterbottom

LAMP服务器的Linux用户和组

  •  6
  • DavidWinterbottom  · 技术社区  · 16 年前

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

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

    5 回复  |  直到 16 年前
        1
  •  1
  •   erlando    16 年前

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

        2
  •  1
  •   Jon Topper    16 年前

    如果这是少数大型站点,您可能会发现使用类似Xen的方法将服务器拆分为多个vm比简单地按用户分隔要好。这将改善站点的隔离性,并使其更容易移动到自己的硬件,如果在未来,一个开始变得比其他资源使用更重。

        3
  •  0
  •   JasonMichael    16 年前

    我想你不想发疯,为公司争取什么,也许你想做这件事的费用不高。

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

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

    此外,Xen和VMS可能是杀伤力过大的,但对于10-100+个帐户来说,也不像Webmin/VirtualMin那么容易管理。

        4
  •  0
  •   incous    10 年前

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

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

        5
  •  0
  •   metaphor_set    10 年前

    几年来我做了一些小规模的主持,我的回答是“这要看情况”。

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

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

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

    当然,我也为每个vhost根目录使用了不同的FTP用户。

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