11.2. 管理访问控制列表
每个文件和目录同时只能有一个用户所有者和一个组所有者。如果您要授予用户权限访问属于不同用户或组的特定文件或目录,同时保持其他文件和目录私有,则您可以使用 Linux 访问控制列表(ACL)。
11.2.1. 显示当前的访问控制列表
您可以使用 getfacl
工具来显示当前 ACL。
流程
要显示特定文件或目录的当前 ACL,请使用:
$ getfacl file-name
用文件或目录的名称替换 file-name。
11.2.2. 设置访问控制列表
您可以使用 setfacl
工具为文件或目录设置 ACL。
先决条件
-
root
访问权限。
流程
- 要为文件或目录设置 ACL,请使用:
# setfacl -m u:username:symbolic_value file-name
使用用户名替换 username,使用符号值替换 symbolic_value,使用文件或目录的名称替换 file-name。详情请查看 setfacl
man page。
例 11.7. 修改组项目的权限
以下示例描述了如何修改属于 root
组的 root
用户拥有的 group-project
文件的权限, 以便使该文件:
- 不能被任何人执行。
-
用户
andrew
有rw-
权限。 -
用户
susan
有---
权限。 -
其他用户有
r--
权限。
流程
# setfacl -m u:andrew:rw- group-project # setfacl -m u:susan:--- group-project
验证
要验证用户
andrew
有rw-
权限,用户susan
有---
权限,其他用户有r--
权限,使用:$ getfacl group-project
输出会返回:
# file: group-project # owner: root # group: root user:andrew:rw- user:susan:--- group::r-- mask::rw- other::r--