Linux:ACL 权限控制

ACL 概述 ACL(Access Control List),主要作用可以提供除属主、属组、其他人的 rwx 权限之外的 细节权限设定。


ACL 的权限控制 (1)使用者(user) (2)群组(group) (3)默认权限掩码(mask)


 acl可以理解为在原本的权限上更加灵活的去控制用户的权限,默认的只能是 属主,数组,其他人,三个,假如张三和李四都属于其他人,而我想让张三访问,不让李四访问,在不更改他俩组的情况下acl就可以完成这样的操作


环境:

我现在在/sdb1/里创建了个文件分为  123       他的权限为700  属主和组都是root

创建了3个用户  a1  b2 c3

创建了一个名为  qwe的组,并把c3加入进了qwe组


ACL

格式:setfacl [选项] [acl 参数] 目标文件或目录

常见选项:

-m:设置后续的 acl 参数,不可与-x 一起使用

-x:删除后续的 acl 参数,不可与-m 一起使用

-b:删除所有的 acl 参数

-k:删除默认的 acl 参数

-R:递归设置 acl 参数

-d:设置默认 acl 参数,只对目录有效 

 对用户添加权限

a1-3 他们现在都没有访问/sdb1/123的权限

setfacl -m u:a1:rw /sdb1/123
# 给a1读写的权限   前面是u就是用户   g就是组

当给了他acl权限之后他后面就有了个+号

Linux:ACL 权限控制_第1张图片 

现在就可以查看了,而a1  b2 c3 都属于其他人   但是a1 现在通过acl有权限去访问这个文件了


查看acl权限

格式:getfacl 文件或目录

getfacl /sdb1/123

 Linux:ACL 权限控制_第2张图片

可以看到里面一些详细信息


 对组设置权限

setfacl -m g:qwe:rw /sdb1/123

Linux:ACL 权限控制_第3张图片 

和用户一样只不过把u换成了g

Linux:ACL 权限控制_第4张图片

c3属于qwe组所以现在a1和c3都可以去看了


删除权限

setfacl -x u:a1 /sdb1/123
setfacl -x g:qwe /sdb1/123

Linux:ACL 权限控制_第5张图片

这样就删除成功了

你可能感兴趣的:(网络,服务器,linux,运维)