Red Hat Training

A Red Hat training course is available for RHEL 8

13.2. 管理访问控制列表

每个文件和目录同时只能有一个用户所有者和一个组所有者。如果您要授予用户权限访问属于不同用户或组的特定文件或目录,同时保持其他文件和目录私有,则您可以使用 Linux 访问控制列表(ACL)。

13.2.1. 显示当前的访问控制列表

您可以使用 getfacl 工具来显示当前 ACL。

流程

  • 要显示特定文件或目录的当前 ACL,请使用:

    $ getfacl file-name

    用文件或目录的名称替换 file-name

13.2.2. 设置访问控制列表

您可以使用 setfacl 工具为文件或目录设置 ACL。

先决条件

  • root 访问权限。

流程

  • 要为文件或目录设置 ACL,请使用:
# setfacl -m u:username:symbolic_value file-name

使用用户名替换 username,使用符号值替换 symbolic_value,使用文件或目录的名称替换 file-name。详情请查看 setfacl man page。

例 13.9. 修改组项目的权限

以下示例描述了如何修改属于 root 组的 root 用户拥有的 group-project 文件的权限, 以便使该文件:

  • 不能被任何人执行。
  • 用户 andrewrw- 权限。
  • 用户 susan--- 权限。
  • 其他用户有 r-- 权限。

流程

# setfacl -m u:andrew:rw- group-project
# setfacl -m u:susan:--- group-project

验证步骤

  • 要验证用户 andrewrw- 权限,用户 susan--- 权限,其他用户有 r-- 权限,使用:

    $ getfacl group-project

    输出会返回:

    # file: group-project
    # owner: root
    # group: root
    user:andrew:rw-
    user:susan:---
    group::r--
    mask::rw-
    other::r--