Linux命令之ACL权限
ACL是Access Control List的缩写,主要的目的是在提供传统的owner,group,others的read,write,execute权限之外的局部权限设定。ACL可以针对单个用户,单个文件或目录来进行r,w,x的权限设定,特别适用于需要特殊权限的使用情况。简单地来说,ACL就是可以设置特定用户或用户组对于一个文件/目录的操作权限。
首先要查看系统是否支持ACL,具体的操作步骤如图:
有图可以看出是支持ACL的。要是不支持可以通过命令mount -o remount,acl /dev/sda1来重新挂载。
1.setfacl设置文件权限
setfacl参数如下:
-m :设置后续的acl参数
-x :删除后续的acl参数
-b :删除所有的ACL设定参数
-R :递归设置acl参数
-d :设置预设的acl参数(只对目录有效,在该目录新建的文件也会使用此ACL默认值)
-k :删除预设的ACL参数
eg:setfacl -m u:user1:rw my.cnf-sample.txt
2.getfacl查看文件权限
eg:getfacl my.cnf-sample.txt
3.删除文件权限
eg:setfacl -x u:user1 my.cnf-sample.txt
4.清空文件权限
eg:setfacl -b my.cnf-sample.txt
上边都是针对单个文件的,同理也可以针对文件夹来进行设置。如果要在某个文件夹下新增的文件(夹)继承属性的话可以用如下的命令:setfacl -m d:u:user1:rw -R my.cnf-sample.txt来实现。