【问题标题】:Secure Hosting Environment安全托管环境
【发布时间】:2012-03-19 03:06:58
【问题描述】:

我想为某些人提供免费(网站)托管。 托管在我自己的托管帐户上。

现在,我有一个名为“hosting_ftp”的文件夹。 在该文件夹中,是每个想要托管的人的文件夹。 他们将获得一个 FTP 帐户,该帐户使他们能够访问该目录(而不是其他,因为该目录被设置为他们的根文件夹)

但是,例如 PHP 脚本仍然可以访问放在根文件夹中的文件(我的个人网站文件)。

现在阻止用户访问我的根目录(就在他们自己的文件夹以外的任何地方)中的这些文件的最佳方法是什么。

【问题讨论】:

  • 因为您说“托管在我自己的 hosting 帐户上”:不可能。您必须更改服务器配置。
  • 每个单独的主机帐户都应该chroot'd 到他们的目录。
  • @nickb 是通过设置 FTP 帐户根来完成的吗?
  • 不,这是通过更改服务器的几个配置来完成的
  • 要求您的托管商更改服务器配置?但我想他会告诉你,你的朋友应该创建一个自己的帐户;)

标签: php security hosting


【解决方案1】:

简单的答案是,除非您有 VPS 或其他形式的云 VM 用于您的服务,否则您无法保证在这里实现什么目标。有了这个,您可以像共享主​​机提供商那样做,即使用基于 UID 的访问控制,每个帐户都有自己的 UID,并且可能(但不一定)被 chroot 隔离。

这种类型的解决方案为每个用户使用 suEXEC 或 suPHP 包装的 PHP-CGI,以便 PHP 在用户 UID 中运行,因此其他人可以使用文件保护来防止其他人对其内容进行读写。

如果您使用的是分片托管帐户,那么您只有一个 UID。所有子帐户都可以通过 FTP 访问他们的目录树,如果您在这些目录层次结构中启用了 PHP 脚本,那么他们的 PHP 脚本将对您的整个目录层次结构具有完全的 R/W 访问权限。您的托管服务提供商不会给您任何 root 权限。

因此,如果您想运行自己的虚拟机,并且对 LAMP 服务器管理员有一定的了解,那么您的建议是可行的。如果不是,那么您必须假设您授予 FTP 访问权限的任何人都可以完全访问您的层次结构中的每个人的数据。对不起。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    • 2020-11-25
    • 1970-01-01
    • 2015-08-14
    • 2012-07-03
    • 2011-10-10
    相关资源
    最近更新 更多