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。