设置新创建的文件/文件夹的默认权限

设置新创建的文件/文件夹的默认权限

我有一个网站网络,所有网站共享同一个“图像”文件夹。我创建了 /home/_images/entities 并从所有网站对其进行了符号链接,它与 Apache 配合得很好,当我在任何网站上打开 /images/ 时,我都会获得图像列表并可以查看它们。

问题是 suPHP 会将 PHP 脚本的进程 ID 更改为文件所有者 ID,因此当我加载网站1.com,所有脚本均按以下方式执行用户1(并且使用这些脚本创建的文件/文件夹属于 user1:user1)。当我加载site2.com,所有脚本均按以下方式执行用户2(使用这些脚本创建的文件/文件夹属于 user2:user2)。所有这些用户都不属于同一组,我不想更改这一点,因为它是 cPanel/WHM 服务器,因此我担心如果我更改所有用户的(主要?)组,我会搞砸一些事情。

因此我需要以这样的方式进行设置,使得 /home/_images/entities(由 root 拥有)下的所有新创建的文件夹和文件对每个人都具有读/写权限。

这是我使用的命令:

setfacl -Rdm o::rwx /home/_images/entities

检查方法:

root@server1 [~]# getfacl /home/_images/entities/
getfacl: Removing leading '/' from absolute path names
# file: home/_images/entities/
# owner: root
# group: root
user::rwx
group::rwx
other::rwx
default:user::rwx
default:group::rwx
default:other::rwx

这看起来不错,但是当我尝试通过 site1.com 上传图像时,它看起来像这样:

root@server1 [/home/_images/entities]# ls -l
total 24
drwxrwxrwx+ 5 root    root    4096 Jan 14 06:25 ./
drwxrwxrwx  5 root    root    4096 Jan 12 13:08 ../
drwxrwxr-x+ 3 user1   user1   4096 Jan 14 06:25 1/

文件夹“1”中是图像(和缩略图文件夹):

root@server1 [/home/_images/entities/1]# ls -l
total 236
drwxrwxr-x+ 3 user1   user1     4096 Jan 14 06:25 ./
drwxrwxrwx+ 5 root    root      4096 Jan 14 06:25 ../
-rw-rw-rw-  1 user1   user1   225569 Jan 14 06:25 689048f221ab7c556f4d482a9d92b2d6.jpg
drwxrwxr-x+ 2 user1   user1     4096 Jan 14 06:25 thumbs/

我的问题:

1) 为什么新创建的文件夹对其他所有人(不是用户和/或组)没有“写入”权限?如果我从 site1.com 上传第一张图片,那么我就无法从任何其他网站上传其他图片,而所有网站都可以显示它们。

2)权限列表末尾的“+”是什么?(drwxrwxr-x+)

3) 为什么新创建的文件仅对用户、组和其他所有人都具有“rw”权限,而没有执行权限?我实际上不需要在这里设置执行标志,但从我的命令中您可以看到我已设置“o::rwx”,因此它应该在那里(或不在那里?)

实际上真正的问题是#1 - 其他用户无法写入此文件夹,因此用户无法从其他网站上传图像,其他网站也无法创建(丢失的)缩略图。

答案1

  1. 应用程序(在本例中为 suPHP)可以覆盖默认值并明确设置所需的权限。如果 suPHP 强制将“其他”权限设置为您不想要的权限,则一种解决方法是为不同的组(例如用户)添加 ACL,其中包含 user1 和您想要的所有其他用户:

    setfacl -Rdm g:users:rwx /home/_images/entities
    

    那么 suPHP 可能会保留该权限。请注意,从安全角度来看,这也是更好的选择,因为您只向用户组授予写入权限,而不是向所有人授予写入权限。

  2. +意味着存在 ACL,因此除了列出的 ugo 集之外,其他权限也有效。您必须运行 getfacl 才能看到它们。

  3. 我认为这与 #1 的答案相同:因为 suPHP 明确覆盖了执行权限。应采用与 #1 相同的解决方案。

相关内容