管理区域的目录写访问权限

时间:2011-09-26 09:52:46

标签: php permissions directory

我有一个网站,管理区域很小。管理区域需要写入目录,但不希望将该目录的写访问权提供给该组或其他任何人(出于安全原因)。如何将目录(和子目录)的所有者更改为正在运行的用户?

3 个答案:

答案 0 :(得分:0)

就操作系统而言,您的PHP程序将使用固定的用户ID运行。操作系统不知道谁在访问该网站。

您需要做的是授予将文件写入运行PHP的用户的权限,然后信任PHP代码仅代表其认为是管理员用户的人。 您可以(并且应该)在操作系统级别上做的最好的事情是锁定文件系统的其他部分,这样PHP中的错误就不会导致任何人访问此管理区域之外的文件。

答案 1 :(得分:0)

在PHP中没有模拟这样的东西,因此您必须与一个执行所有操作的操作系统用户一起生活,无论谁登录到您的站点(访客/用户/管理员)。

答案 2 :(得分:0)

我将解释我们如何在我们的装置上管理它。

我们有两个小组 - “网站管理员”和“上传”。每个Web开发人员都是这两个组的成员。 Apache仅是“上传”组的成员。我们将掩码设置为002,并在目录上设置+ s标志。

我们的目录权限如下所示:

drwxrwsr-x  3 romans    webmaster  4096 Sep 19 16:56 locale
drwxrwsr-x  2 romans    upload     4096 Sep 23 17:27 logs
-rw-rw-r--  1 romans    webmaster   136 Sep 19 16:56 main.php

这对我们来说非常有用。权限紧凑且一致。 PHP将创建的任何文件都属于“上传”,因此可供所有网站管理员编辑。 apache无法编辑网站管理员的任何其他内容。