一,linux文件系统的ACL主要针对属主,属组,以及其余用户的r,w,x权限以外的权限进行设置。linux
ACL能够针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于须要特殊权限的使用情况 ide
有必定帮助。如,某一个文件,不让单一的某个用户访问。测试
1)ACL使用两个命令来对其进行控制3d
getfacl:取得某个文件/目录的ACL设置项目blog
setfacl:设置某个文件/目录的ACL设置项目递归
setfacl 参数get
-m:设置后续acl参数 权限控制
-x:删除后续acl参数 (删除个别的,好比删除某个用户的acl)it
-b:删除所有的acl参数class
-k:删除默认的acl参数
-R:递归设置acl,包括子目录
-d:设置默认acl
例:在/opt下建立一文件r1,将其权限修改成777,并查看其默认ACL权限配置
因为上面咱们设的权限为777,能够看到其它者的权限也是可读可写可执行。
# getfacl r1 //得到文件的ACL权限
# file: r1 //文件名
# owner: root //属主
# group: root //属组
user::rwx //属主权限
group::rwx //属组权限
other::rwx //其它者权限
如今咱们修改其ACL策略,使用用户zhangsan只有读取的权限
user:zhangsan:rwx //能够看到zhangsan单独的权限为rwx
如今zhangsan用户,权限很大,测试一下。
zhangsan对r1有写的的权限,能够写,
下面liming对/opt/r1的acl权限为只读
user:liming:r-- //能够看到zhangsan单独的权限为r--
下面测试一下
在写文件时,会出现-- 插入 -- W10: 警告: 正在修改一个只读文件。
写完也没法保存
除了对单个用户进行设置外,还能够对用户组、有效权限(mask)进行设置如对用户组设置: g:[用户组]:[rwx]
注:有效权限(mask) 即用户或组所设置的权限必需要存在于mask的权限设置范围内才会生效
如上面的r1文件,liming已经有了可读权限,若是咱们把它的有效权限修改成只有写权限,则设置的acl权限不在有效权限以内,则用户liming就不可能再查看r1文件中的内容了
setfacl -m m:w r1 //设置有效权限为只写
mask::-w- //能够看到有效权限已经修改为功
已经不容许liming访问了
取消ACL