扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共5页)
UGO访问控制机制在很多情况下难以满足实际文件/目录访问授权的需求,比如,要设定一个组中的部分用户对特定的文件/目录具有读取和访问权限 (rw-),而另外一部分用户只能具备读权限(r--);这在传统的Linux访问控制中无法通过单纯地建立新的组和用户来实现。因此,为了解决这些问 题,人们提出了一种新的访问控制方法,也就是访问控制列表(ACL,AccessControlList)。
ACL是一个POSIX(可移植操作系统接口,PortableOperatingSystemInterface)标准。目前,支持ACL需要内核 和文件系统的支持。现在2.6内核配合EXT2/EXT3,JFS,XFS,ReiserFS等文件系统都是可以支持ACL的。在目前主流的发行套件,如 RedHatEnterpriseLinux(RHEL)5、RHEL6、Fedora16等等,都已经支持ACL。
ACL的类型及权限位
ACL是由一系列的AccessEntry所组成的。每一条AccessEntry定义了特定的类别可以对文件拥有的操作权限。 AccessEntry主要包括6个,可分为两大类:一类包括owner、owninggroup和other,对应传统UGO机制中的user、 group和other;一类则包括nameduser、namedgroup和mask。这六类的主要说明如下:
user:相当于Linux里文件所有者的permission
nameduser:定义了额外的用户可以对此文件拥有的permission
group:相当于Linux里group的permission
namedgroup:定义了额外的组可以对此文件拥有的permission
mask:定义了nameduser,namedgroup和group的最大权限
other:相当于Linux里other的permission
举个简单的例子,对于如下的ACLEntry的定义:
#file:example.xml
#owner:liyang
#group:operation
user::rwx
user:shengping:rw-
group::rw-
group:dev:r-x
mask::rwx
other::r—
其中,前面三个以#开头的定义了文件名、文件的所有者和所有者所在的组。后面紧跟着的六行则说明了如下的问题:
user::rwx说明文件所有者拥有读写和执行权限
user:shengping:rw-定义了用户shengping拥有对文件的读写权限
group::rw-说明文件的group拥有读写权限
group:dev:r-x定义dev组拥有对文件的读和执行权限
mask::rwx定义了mask的权限为读
other::r--定义了other用户的权限为读
值得特别注意的是:mask的rwx权限定义,决定了user:shengping,group和group:dev对文件的最大权限分别是rw、 rw和rx。这也是mask这个ACLEntry的用途所在,可以用它来批量控制权限。当然,在实际的使用过程中,并不需要用户对该Entry直接进行操 作,而只需要使用相应的setfacl命令即可,系统将会根据该命令的执行来自动生成上述Entry项,这其中就包含了mask这个Entry项。
ACL的基本命令
ACL的主要命令有2个:getfacl和setfacl。Getfacl用于或取文件或者目录的ACL权限信息,而setfacl则用于设置文件或者目录的ACL权限信息。下面分别对他们的使用进行简单介绍。
Getfacl-获取ACL权限信息
getfacl命令用于获取文件的ACL权限信息,其基本用法为:getfacl[文件/目录名]。
举个例子,首先,使用touch命令先建立一个测试文件acl_test:
$touchfileacl_test
然后,使用ls命令来查看该文件的权限访问属性,发现其并没有加入acl权限,因为没有出现“+”符号:
$ls-lacl_test
-rw-rw-r--1gavingavin012-2011:49acl_test
接着,使用getfacl命令来获取文件的ACL权限信息,得到如下结果:
$getfaclacl_test
#file:acl_test
#owner:gavin
#group:gavin
user::rw-
group::rw-
other::r—
值得注意的是:即使该文件系统上没有开启ACL选项,getfacl命令仍然可用,不过只显示默认的文件访问权限,即与ls-l显示的内容相似。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者