ACL适用场景:
Linux 中acl权限全称为 access control list(访问控制列表).
acl的作用:
除我们熟知的rwx权限以外的,用于单独指定某个用户/用户组的特定访问权限.
用途:
可以用于临时开放特定用户访问某个路径 或文件的权限.
类似如下场景: 外来用户要历史访问 对应路径,切只能有rx权限如何处理? 此时就需要用到acl
外来用户 不能给与属主/组权限, 因为他们都有w权限,可对路径进行修改. 也不能修改其它权限,如果修改其它权限,别的用户也可以访问这个路径, 达不到访问要求.
设定acl权限:
张三,李四 是属组用户.
groupadd cs
useradd zhangsan -g cs
useradd lisi -g cs
useradd wangwu # 王五为外来用户
mkdir mysqldata
chgrp cs mysqldata
设定用户权限
格式为: acltype:username:authlist
acltype: u/g/m u:用户 g:用户组 m:更改mask权限(最大权限)
username: 用户名称
authlist: rwx 其中的一种或多种组合 r/w/x/rw/rx
#设定王五用户以 rx权限访问指定目录 mysqldata
setfacl -m u:wangwu:rx mysqldta
#要想新建子目录和文件也以相同权限进行访问,需要增加授权模式 d:u/g
setfacl -m d:u:wangwu:rx mysqldata
#要想把老的文件也可以访问需要增加级联选项
setfacl -m d:u:wangwu:rx -R mysqldata
查看目录权限
getfacl mysqldata
#授权前后获取对比
删除acl权限
setfacl -b -R mysqldata
删除指定用户acl权限
setfacl -x d:u:wangwu -R mysqldata