📅  最后修改于: 2023-12-03 15:34:57.208000             🧑  作者: Mango
Setfacl是Linux系统下的一个命令行工具,它用于修改文件或目录的访问控制列表(ACL)。ACL是用于授予或拒绝用户或组对特定文件或目录的访问权限的一种机制。
Unix/Linux系统的权限模型是基于文件所有者、文件所属组以及其他用户的权限进行控制。但是在某些情况下,这个模型是不够灵活的,比如:
这时候,Setfacl就能派上用场了。
以下是Setfacl命令的基本语法:
setfacl [选项] [文件或目录]
-m
:修改ACL。例如:setfacl -m u:zhao:rwx myfile
,表示给用户zhao授予myfile文件的读、写、执行权限。-x
:删除ACL。例如:setfacl -x g:dev /data
,表示删除/data目录中组dev的ACL。-R
:递归修改或删除ACL。例如:setfacl -R -m u:zhao:rwx /data
,表示将/data目录中所有文件和子目录的所有者zhao的权限设置为读、写、执行权限。ACL格式由权限标志、用户/组标识符、权限操作符组成。例如:
u:zhao:rwx
g:dev:rw-
其中,u
表示用户,g
表示组,o
表示其他用户,a
表示所有用户;+
表示增加权限,-
表示删除权限,=
表示设置权限。