访问控制ACL

出自Linux Wiki

在2013年5月9日 (四) 11:59由Spunkzwy (讨论 | 贡献)所做的修订版本

什么是ACL

ACL是Access Control List 的缩写,主要目地是提供传统的owner,group,other的read,write,execute权限之外的具体权限控制。ACL可以针对单一用户单一文件或目录来进行rwx的权限设置,对于需要特殊权限的使用状况非常有帮助。


ACL类型

ACL 是由一系列的Access Entry所组成的. 每一条Access Entry定义了特定的类别可以对 文件拥有的操作权限. Access Entry有三个组成部分: Entry tag type, qualifier (optional)

Entry tag type, 它有以下几个类型 ACL_USER_OBJ: 相当于Linux里file_owner的权限 ACL_USER: 定义了额外的用户可以对此文件拥有的权限 ACL_GROUP_OBJ: 相当于Linux里group的权限 ACL_GROUP: 定义了额外的组可以对此文件拥有的权限 ACL_MASK: 定义了ACL_USER, ACL_GROUP_OBJ和ACL_GROUP的最大权限 ACL_OTHER: 相当于Linux里other的权限

 来看一个详细的例子

[spunk@wapbaidu ~]$ getfacl test

  1. file: test <==说明文件名
  2. owner: spunk <==说明此文件的所有者
  3. group: spunk <==说明此文件的所属组

user::rwx <==文件所有者的权限 user:xue:r-x <==用户xue具有的权限 group::--- <==文件所属组的权限 group:spunk:r-x <==spunk组对该文件的权限 mask::r-x <==该文件的默认最大权限 other::--- <==其他人拥有的权限 [spunk@wapbaidu ~]$ ll -rwxr-x---+ 2 spunk spunk 4096 5月 9 19:42 test 在文件权限的最后多了一个+号. 当任何一个文件拥有了ACL_USER或者ACL_GROUP的值以后我 们就可以称它为ACL文件.这个+号就是用来提示我们的。

常用命令

getfacl

setfacl

个人工具
简体繁体转换