setfacl -m d:u:zym:rwx /dir1
==当对目录/dir1 设置了默认权限,之后在该目录下建立的所有
文件,jack 缺省拥有 rwx 权限
==注意:rwx 权限不针对该目录,也不针对该目录中现有的文件

zym@zym-TOP2:~$ sudo mkdir /dir1/{test1,test2} -p
zym@zym-TOP2:~$ ll -d /dir1/
drwxr-xr-x 4 root root 4096  2月 15 16:31 /dir1//
zym@zym-TOP2:~$ ll /dir1/
总用量 16
drwxr-xr-x  4 root root 4096  2月 15 16:31 ./
drwxr-xr-x 24 root root 4096  2月 15 16:31 ../
drwxr-xr-x  2 root root 4096  2月 15 16:31 test1/
drwxr-xr-x  2 root root 4096  2月 15 16:31 test2/
zym@zym-TOP2:~$


zym@zym-TOP2:~$ sudo setfacl -m d:u:zym:rwx /dir1/
zym@zym-TOP2:~$ getfacl /dir1/
getfacl: 从绝对路径名尾部去除" / "字符。
# file: dir1/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:zym:rwx
default:group::r-x
default:mask::rwx
default:other::r-x


zym@zym-TOP2:~$ touch /dir1/file1
touch: 无法创建"/dir1/file1": 权限不够
zym@zym-TOP2:~$ touch /dir1/test1/file1
touch: 无法创建"/dir1/test1/file1": 权限不够


zym@zym-TOP2:~$ sudo mkdir /dir1/test3
zym@zym-TOP2:~$ sudo touch /dir1/file1
zym@zym-TOP2:~$ ll -d /dir1/
drwxr-xr-x+ 5 root root 4096  2月 15 16:37 /dir1//
zym@zym-TOP2:~$ ll /dir1/
总用量 20
drwxr-xr-x+ 5 root root 4096  2月 15 16:37 ./
drwxr-xr-x  24 root root 4096  2月 15 16:31 ../
-rw-rw-r--+ 1 root root    0  2月 15 16:37 file1
drwxr-xr-x   2 root root 4096  2月 15 16:31 test1/
drwxr-xr-x   2 root root 4096  2月 15 16:31 test2/
drwxrwxr-x+  2 root root 4096  2月 15 16:36 test3/


zym@zym-TOP2:~$ sudo touch /dir1/test3/file1
zym@zym-TOP2:~$ echo "test" > /dir1/file1
zym@zym-TOP2:~$ getfacl /dir1/test3/
getfacl: 从绝对路径名尾部去除" / "字符。
# file: dir1/test3/
# owner: root
# group: root
user::rwx
user:zym:rwx
group::r-x
mask::rwx
other::r-x
default:user::rwx
default:user:zym:rwx
default:group::r-x
default:mask::rwx
default:other::r-x


MASK
其作用是为了用来限制除了属主和其他人以外的所有用户或组
的权限,MASK 权限则为这些用户他们可能拥有的最高权限;
如果遇到设置的用户权限和 MASK 权限冲突,则用户的权限为
#effective 权限
一旦一个文件被设置了 ACL,其文件原属组部分的权限将变为
MASK 权限,而并非原来的属组权限;

setfacl -m m::r dir|file
setfacl -m mask::r dir|file



zym@zym-TOP2:~$ sudo setfacl -m mask::r /dir4/
zym@zym-TOP2:~$ getfacl /dir4/
getfacl: 从绝对路径名尾部去除" / "字符。
# file: dir4/
# owner: root
# group: root
user::rwx
group::r-x           #effective:r--
mask::r--
other::r-x
default:user::rwx
default:user:zym:rwx
default:group::r-x
default:mask::rwx
default:other::r-x

由于设置了 ACL,并更改了 mask 权限:setfacl -m m::r /dir4
==ll -d /dir4 所看到的属组权限部分为 mask 权限
==虽然用户 zym 设置了 rwx 权限,但他的有效权限为 r