Red Hat Training

A Red Hat training course is available for RHEL 8

第 29 章 管理访问控制列表

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

29.1. 显示当前访问控制列表

您可以使用 getfacl 实用程序显示当前 ACL。

流程

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

    $ getfacl file-name

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

29.2. 设置访问控制列表

您可以使用 setfacl 实用程序为文件或目录设置 ACL。

先决条件

  • root 访问。

流程

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

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

例 29.1. 修改组项目的权限

以下示例描述了如何修改属于 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--