getfacl:取得文件或目录的ACL设置项目
setfacl:设置文件或目录的ACL规定

setfacl的用法:-m:设置ACL参数给文件使用
-x:删除ACL参数
-b:删除所有ACL参数
-k:删除默认的ACL参数
-R:递归设置ACL
-d:设置该目录默认的ACL参数。就是说在该目录下创建的文件或目录都会引用。

常用的就是对单一用户的设置:
setfacl -m u:user:rw aclfile
表示user用户对aclfile文件拥有rw的权限,即使属主和组不是user本身。这就是ACL的魅力所在
setfacl -m u::rwx aclfile
没有指定用户时,则默认设置的是该文件的所有者。
setfacl -m g:myuser:rw aclfile
这时候查看文件的权限会出现+号,表示权限部分还没显示完,
使用getfacl查看
查看一下刚刚设置的
#getfacl aclfile
#file:aclfile  //对该文件的注释
#owner:root   //文件所有者
#group:root    //文件所属组
#user::rw-     //用户列表是空的,代表所有者的权限
#user:user:rw-  //这个是我们刚刚设置的。针对user用户有rw的权限  有时会在这里出现#effective:rw-  //则表示有效权限只有rw
#group::rw-   //该文件用户组的权限
#group:myuser:rw- //针对myuser用户组的权限
#mask::rw-     //此文件的默认有效权限
#other::r-- //其他人对该文件的权限

要特别注意mask:
因为用户或者租所设置的权限必须在mask的范围之内才会生效,这就是有效权限

setfacl -m m:[rwx] filename 
来设置mask的参数
针对目录来设置acl
setfacl -m d:u:user:rwx filename
则在该目录下新建的文件或者目录都会继承filename目录的ACL。
如果想更改某目录以及目录下所有文件的ACL呢?
setfacl -R -m d:u:user:rwx filename
这样,该目录内的所有ACL都会一致了。