为什么在具有 setgid 位的目录中创建权限为 2070 的目录和权限为 060 的文件?

为什么在具有 setgid 位的目录中创建权限为 2070 的目录和权限为 060 的文件?

我有以下目录:

$ 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 行为。

相关内容