10.2. 管理访问控制列表
每个文件和目录同时只能有一个用户所有者和一个组所有者。如果您要授予用户权限访问属于不同用户或组的特定文件或目录,同时保持其他文件和目录私有,则您可以使用 Linux 访问控制列表(ACL)。
10.2.1. 设置访问控制列表 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
您可以使用 setfacl 工具为文件或目录设置 ACL。
先决条件
-
有
root访问权限。
流程
要显示特定文件或目录的当前 ACL,请运行:
getfacl file-name
$ getfacl file-nameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 用文件或目录的名称替换 file-name。
- 要为文件或目录设置 ACL,请使用:
setfacl -m u:username:symbolic_value file-name
# setfacl -m u:username:symbolic_value file-name
使用用户名替换 username,使用符号值替换 symbolic_value,使用文件或目录的名称替换 file-name。如需更多信息,请参阅系统中的 setfacl man page。
例 10.9. 修改组项目的权限
以下示例描述了如何修改属于 root 组的 root 用户拥有的 group-project 文件的权限, 以便使该文件:
- 不能被任何人执行。
-
用户
andrew有rw-权限。 -
用户
susan有---权限。 -
其他用户有
r--权限。
流程
setfacl -m u:andrew:rw- group-project setfacl -m u:susan:--- group-project
# setfacl -m u:andrew:rw- group-project
# setfacl -m u:susan:--- group-project
验证
要验证用户
andrew有rw-权限,用户susan有---权限,其他用户有r--权限,使用:getfacl group-project
$ getfacl group-projectCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出会返回:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow