共享主机服务器如何保持跨账户执行代码?

共享主机服务器如何保持跨账户执行代码?

我有点好奇,托管服务器如何支持使用 php 的多个用户,但又使每个用户远离其他代码?我认为“简单”的解决方案是文件权限。因此,每个用户都可以拥有属于其组的 www 数据,并且服务器将具有执行访问权限,但用户无法访问其他文件。

但后来我意识到运行 php 的用户将是 www-data,他有权读取所有人的数据。那么共享主机如何防止这种情况发生呢?

PS:我个人使用 nginx (带有 fastcgi php)。但我对 apache 的工作原理有些熟悉。

答案1

其中大多数使用 apache 模块 mod_userdir :http://httpd.apache.org/docs/2.0/mod/mod_userdir.html

答案2

PHP 有一个 basedir 配置,它将每个虚拟主机限制到一个子文件夹中。

https://stackoverflow.com/questions/2781185/php-a-different-open-basedir-per-each-virtual-host

相关内容