1.针对指定对象赋予某个权限.
2.针对指定的用户赋权.
3.针对指定的组赋权.
4.默认权限(类似sgid 只对目录的新文件有影响).
有效权限位
权限位的最后一位来表示ACL(+表示开启ACL)
设置ACL后配置组的权限配置都是针对mask而不是组权限
设置命令 setfacl -m u:用户(你想要添加权限的用户):rw- 文件名
![](https://i-blog.csdnimg.cn/blog_migrate/0b43ef8ac56647db591b058ef8fd5c5d.png)
查看文件权限指令使用
getfacl 文件名
![](https://i-blog.csdnimg.cn/blog_migrate/9bd07237068297b6f7e29700820541a4.png)
msak::rw-:当前权限位最高的有效权限位
操作系统匹配:文件所有人->有没有特别权限控制->又没用所属的组->其他人
setfacl:
-m (修改acl) -R(针对目录配置递归) user/group:User_Name/Group_Name:权限(配置目录递归 x改为X x只应用到目录权限位) 文件
案例 setfacl -m u:用户:rw- 文件名
对某个目录执行 setfacl -m u:用户名:rwx 目录 后(只对该目录有权限 对之前的子目录 和子文件没有权限)
setfacl -R -m u:用户名:rwx 目录 (递归附加权限)
---------------------小扩展-----------------------------------
而cp 就像新建的文件权限一样
cp -a 会保留原有权限
---------------------------------------------------------------
setfacl -m m::权限 文件名(修改mask 特殊用户超过mask值就会导致特殊权限变化(当下一次修改用户特殊权限的时候又会自动修改mask(大于当前mask的权限)))
setfacl -n -m u:用户名:rwx 目录 (当前命令不会影响mask)
-----------------------默认权限位----------------
setfacl -m d:u:用户名:权限位 目录/文件
输入指令 setfacl -m d:u:harry:rwX fff/(也是只对新建文件有权限 但是也对新建的目录有权限)
删除
setfacl -x 对应的命令
删除所有acl的权限位
setfacl -b 文件