Apache 和 PHP 权限

Apache 和 PHP 权限

我有一台使用 ubuntu 服务器,带有 apache2 和 php。

我想设置一个包含 php 文件的目录,该文件对互联网可见,并且在其中有一个私有目录,除了该 php 文件之外,没有人(apache)可以访问它。

我怎样才能做到这一点?

答案1

如果您可以安排 PHP 以不同于普通 Apache 的用户身份执行,那么这将很容易:您将私有目录设置为 PHP 用户拥有并将权限设置为 700。

或者,如果 PHP 解释器必须以与 Apache 服务器相同的用户身份运行(通常如此),则可以使用 Apache 配置指令(在文件中.htaccess或其他方式中)来指定 Apache 决不能从该目录提供任何内容。在“主”Apache 配置文件中执行此操作的方法如下:

<Directory "/your/private/directory">
    Require all denied
</Directory>

在文件中,只需单独.htaccess使用该行:Require

Require all denied

它将自动应用到文件.htaccess所在的目录。

PHP 解释器无需通过 Apache 即可访问文件系统,因此它将能够访问私有目录。然后,您只需将私有目录设置为 Apache 服务用户所拥有,并赋予其 700 的权限。

相关内容