我想为某些人提供免费(网站)托管服务。 哪个托管在我自己的托管帐户上。
现在,我有一个名为“hosting_ftp”的文件夹。 在该文件夹中,是每个想要托管的人的文件夹。 他们将获得一个FTP帐户,使他们可以访问该目录(并且没有其他人,因为该目录被设置为他们的根文件夹)
但是,例如PHP脚本仍然可以访问文件,这些文件放在根文件夹(我的个人网站文件)中。
现在阻止用户访问我的根目录(除了他们自己的文件夹以外的任何地方)的文件的最佳方法是什么。
答案 0 :(得分:3)
简单的答案是,除非您的服务具有VPS或其他形式的云VM,否则无法保证您希望在此处实现的目标。有了这个,您可以按照共享托管服务提供商的方式执行此操作,即使用基于UID的访问控制,每个帐户都有自己的UID,并且可能(但不一定)是孤立的chroot。
这种类型的解决方案为每个用户使用suEXEC或suPHP包装的PHP-CGI,因此PHP在用户UID中运行,因此其他人可以使用文件保护来防止其他人读取其内容。
如果您使用的是分片托管帐户,那么您只有一个UID。所有子帐户都具有对其目录树的FTP访问权限,如果您在这些目录层次结构中启用了PHP脚本,则其PHP脚本将具有对整个目录层次结构的完全R / W访问权限。您的托管服务提供商不会授予您任何root权限。
因此,如果您想运行自己的VM,并且对LAMP服务器管理员有一定的了解,那么您的建议是可行的。如果您不这样做,则必须假设您授予FTP访问权限的任何人都可以完全访问层次结构中的每个人的数据。遗憾。