我有一台运行 Web 项目的 Linux Debain 10 服务器。项目(父)文件夹如下:
ls-la:
drwxrwxr--+ 7 some_user some_group 4096 Jul 21 11:01 .
获取facl:
# file: .
# owner: some_user
# group: some_group
user::rwx
user:some_user:rwx
group::rwx
group:www-data:rwx
group:some_group:rwx
mask::rwx
other::r--
default:user::rwx
default:user:some_user:rwx
default:group::rwx
default:group:www-data:rwx
default:group:some_group:rwx
default:mask::rwx
default:other::r--
如您所见,继承规则设置为不限制任何权限(mask = rwx)并且也继承具有“rwx”的“some_group”。当我使用“mkdir”命令创建文件夹时,此方法有效它给了我所要求的权限,但是当我上传它们时从我的 Windows 10 机器上使用 FTP 客户端它不再起作用并剥夺上传子文件夹的权限,如下所示:
ls-la:
drwxr-xr-x+ 5 some_user some_group 4096 Jul 21 11:01 uploads
获取facl:
# file: uploads
# owner: some_user
# group: some_group
user::rwx
user:some_user:rwx #effective:r-x
group::rwx #effective:r-x
group:www-data:rwx #effective:r-x
group:some_group:rwx #effective:r-x
mask::r-x
other::r-x
default:user::rwx
default:user:some_user:rwx
default:group::rwx
default:group:www-data:rwx
default:group:some_group:rwx
default:mask::rwx
default:other::r--
因此切断了写入权限,因为“mask”突然变成了“rx”而不是“rwx”。
我尝试过使用 Google、阅读文档、设置“umask 007”但没有任何效果,并且在配置文件 FTP“/etc/vsftpd.conf”中设置“local_umask=007”,因为我正在使用 VSFTP。
现在我可以解决问题的唯一方法是每次使用 FTP 上传文件夹时手动设置“chmod -R g+w /folder”。我能否以某种方式为 FTP 上传的文件分配正确的权限?任何想法都将不胜感激。
这很接近,但不认为它与我的问题有关:文件 ACL 掩码计算:为什么?