为什么drwxrwxr-x+
没有组可写位时会显示目录?
让我们给一个额外的用户 (john)rwx
对目录的权限,如下所示:
$ mkdir logfiles
$ setfacl -m user:john:rwx logfiles
$ getfacl -ce logfiles
user::rwx
user:john:rwx #effective:rwx
group::r-x #effective:r-x
mask::rwx
other::r-x
这正是我想要的,john 现在拥有与目录所有者等效的访问权限。然而,
$ ls -ld logfiles
drwxrwxr-x+ 2 bob users 4096 Mar 6 22:38 logfiles
$ find -perm +020 -ls
8197 4 drwxrwxr-x 2 bob users 4096 Mar 6 22:38 ./logfiles
没有组具有写权限,但 ls 的输出和 find 的匹配结果会提示其他情况。这直接来自 lstat(2) 系统调用的 st_mode 字段;为什么S_IWGRP
要设置位?