在linux中 acl是什么意思

如题所述

ACL的名词定义

先来看看在ACL里面每一个名词的定义.这些名词我大多从man page上摘下来虽然有些枯燥,
但是对于理解下面的内容还是很有帮助的

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的权限

让我们来据个例子说明一下. 下面我们就用getfacl命令来查看一个定义好了的ACL文件

代码:

[root@zyq-server data]# getfacl test.txt
# file: test.txt
# owner: root
# group: family
user::rw-
user:zyq:rw-
group::rw-
group:jackuser:rw-
mask::rw-
other::---

前面三个以#开头的定义了文件名,文件所有者和文件拥有组. 这些信息没有太大的作用,我
们可以用 --omit-header来省略掉
user::rw- 定义了ACL_USER_OBJ, 说明file owner拥有读和写的权限
user:zyq:rw- 定义了ACL_USER,这样用户zyq就拥有了对文件的读写权限,实现了我们一开始要达到的目的
group::rw- 定义了ACL_GROUP_OBJ,说明文件的group拥有read和write 权限
group: jackuser:rw- 定义了ACL_GROUP,使得jackuser组拥有了对文件的read 和write权限
mask::rw- 定义了ACL_MASK的权限为read and write
other::--- 定义了ACL_OTHER的没有任何权限操作此文件

从这里我们就可以看出ACL提供了我们可以定义特定用户和用户组的功能. 那么接下来我们就来
看一下如何设置一个文件的ACL
温馨提示:答案为网友推荐,仅供参考