有一个目录/test/test2/
。它的所有者是root
,组是test
,权限是drwxr-xr-x
。我setfacl -m group:test:w ./
在那个目录中执行。
现在,作为test
其组包括的用户test
,如果我getfacl ./
在该目录中运行,输出是,
# file: .
# owner: root
# group: test
user::rwx
group::r-x
group:test:-w-
mask::rwx
other::r-x
现在,如果我执行touch test.txt
,我得到touch: cannot touch 'test.txt': Permission denied
。为什么会这样?不setfacl -m
给权限加上chmod
权限吗?我的意思是,我给了test
组写权限setfacl
,因为组有r-x
传统权限(可以用更改chmod
),这不是有效地给rwx
了test
组吗?
我试过namei -l /test/test2/
了,输出是
f: /test/test2/
drwxr-xr-x root root /
drwxr-xr-x root root test
drwxrwxr-x root test test2
主要问题在这里:
该组
test
确实具有写入权限但没有执行权限,因此您将无法在该目录下创建任何内容。您将必须通过以下方式分配权限:即使您分配了
UNIX
写权限而不是执行权限,您也无法创建任何东西