Linux ACL访问控制权限

时间:2022-09-08 12:51:08

Linux ACL访问控制权限

由于Linux系统的基本权限控制是针对文档所有者或所属组或其他账户来进行控制的,无法对某个单独的账户进行控制,所以就有了ACL(Account Control List)访问控制列表的概念,使用ACL,我们可以针对单一账户设置文档的访问权限。以下是查看和设置ACL权限的两条命令:

1. getfacl

描述:查看文档的ACL权限
用法:getfacl 文件或目录

2. setfacl

描述:设置文档访问控制列表
用法:setfacl [选项] [{-m|-x} acl条目] 文件或目录
常用选项:
-b:删除所有附加的ACL条目
-k:删除默认的ACL
-m:添加ACL条目
-x:删除指定的ACL条目
-R:递归处理所有的子文件与子目录
示例:
setfacl -m u:user1:rw aaa #添加ACL条目,使用户user1对aaa文件可读可写
setfacl -m g:user1:r aaa #添加ACL条目,使user1组对aaa文件可读
setfacl -b aaa #删除所有附加的ACL条目

示例

首先用getfacl查看aaa文件的ACL权限:
Linux ACL访问控制权限
可以看到,该文件未设置附加的ACL访问控制条目,仅有基本的文件所有者、所属组、其他账户的访问控制。

现在用setfacl添加ACL访问控制条目:
Linux ACL访问控制权限

再用getfacl进行查看:
Linux ACL访问控制权限
可以看到getfacl输出信息的第五行和第七行即是刚才添加的ACL访问控制条目。