Title here
Summary here
访问控制列表(Access Control List)是一种更为灵活和细粒度的权限管理机制, 用于定义和控制文件系统对象的访问权限。与传统的文件权限系统相比,ACL 提供了更细致的权限控制, 允许你为不同的用户和用户组设置特定的权限,不再局限于传统的三个角色(Owner、Group、Others)。
如没安装,可用以下命令。
sudo apt-get install acl
获取文件的访问控制列表
getfacl - get file access control lists
获取 foo 文件的 ACL 信息。
getfacl foo
# file: foo
# owner: kuga
# group: kuga
user::rw-
group::rw-
other::r--
设置文件的访问控制列表。
setfacl - set file access control lists
soda 用户添加对 foo 文件的读写权限。
setfacl -m u:soda:rw foo
getfacl foo
# file: foo
# owner: kuga
# group: kuga
user::rw-
user:soda:rw-
group::rw-
mask::rw-
other::r--
soda 组添加对 foo 文件的读写权限。
setfacl -m g:soda:rw foo
getfacl foo
# file: foo
# owner: kuga
# group: kuga
user::rw-
user:soda:rw-
group::rw-
group:soda:rw-
mask::rw-
other::r--
对其它人添加对 foo 文件的读写权限。
setfacl -m o::rw foo
getfacl foo
# file: foo
# owner: kuga
# group: kuga
user::rw-
user:soda:rw-
group::rw-
group:soda:rw-
mask::rw-
other::rw-
命令采取覆盖的形式。
setfacl -m o::r foo
other::rw-
会变成 other::r--
。
setfacl -m u:soda:- foo
setfacl -m o::- foo
user:soda:---
other::---
setfacl -x u:soda foo
setfacl -m g:soda foo
user:soda
、group:soda
这两行会删掉。
使用 ACL 的文件,权限列后面会有一个 + 号。
-rw-rw-r--+
差不多 7-8 年前,曾经接触过一个 ACL 的管理后台,后来改成了 RBAC。