我有一个网站,管理区域很小。管理区域需要写入目录,但不希望将该目录的写访问权提供给该组或其他任何人(出于安全原因)。如何将目录(和子目录)的所有者更改为正在运行的用户?
答案 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无法编辑网站管理员的任何其他内容。