我有以下目录:
$ ll -d neptune
drwxrws---+ 5 beamin psych 4096 Mar 7 16:18 neptune
$ getfacl neptune
# file: neptune
# owner: beamin
# group: psych
# flags: -s-
user::rwx
group::r-x
group:sysadmins:rwx
group:psych:rwx
mask::rwx
other::---
default:user::---
default:group::r-x
default:group:sysadmins:rwx
default:group:psych:rwx
default:mask::rwx
default:other::---
我登录的身份为beamin
:
$ id beamin
uid=1000(beamin) gid=1000(beamin) groups=1000(beamin),2000(sysadmins)
$ umask
0002
但是,当我创建目录或文件时,我得到的是:
$ cd neptune
$ mkdir dir
$ touch file
$ ll
total 8
d---rws---+ 2 beamin psych 4096 Mar 7 16:25 dir
----rw----+ 1 beamin psych 0 Mar 7 16:25 file
为什么是这样?
答案1
我怀疑答案就在您转储的 ACL 中存储的属性中:
为什么业主没有权限:
default:user::---
为什么组有rwx:
default:group:psych:rwx
为什么别人没有权限:
default:other::---
这个 ACL 东西覆盖了传统的 Unixy 行为。