1.7.3. 在使用 POSIX ACL 的 Samba 共享中设置扩展的 ACL


如果文件系统中保存了共享目录的支持扩展 ACL,您可以使用它们设置复杂的权限。扩展 ACL 可以包含多个用户和组群的权限。

扩展 POSIX ACL 可让您使用多个用户和组配置复杂的 ACL。但是,您只能设置以下权限:

  • 无权限
  • 读权限
  • 写权限
  • 完整控制

如果您需要更细粒度的 Windows 权限,如 创建文件夹 / 追加数据,请将共享配置为使用 Windows ACL。请参阅 设置使用 Windows ACL 的共享

以下流程演示了如何在共享中启用扩展 ACL。另外,它还包含有关设置扩展 ACL 的示例。

先决条件

  • 存在要设置 ACL 的 Samba 共享。

流程

  1. /etc/samba/smb.conf 文件的共享部分中启用以下参数,以启用扩展 ACL 的 ACL 继承:

    inherit acls = yes

    详情请查看 smb.conf(5)手册页中的参数描述。

  2. 重启 smb 服务:

    # systemctl restart smb
  3. 在目录中设置 ACL。例如:

例 1.2. 设置扩展 ACL

以下流程为 Domain Admins 组设置读、写和执行权限,为 Domain Users 组设置读、写和执行权限,并拒绝其他任何人对 /srv/samba/example/ 目录的访问:

  1. 为主用户帐户组禁用自动授予权限:

    # setfacl -m group::--- /srv/samba/example/
    # setfacl -m default:group::--- /srv/samba/example/

    目录的主组还被映射到动态CREATOR GROUP主体。当您对Samba 共享使用扩展 POSIX ACL 时,主体会被自动添加,您无法将其删除。

  2. 设置目录中的权限:

    1. Domain Admins组赋予读、写和执行权限:

      # setfacl -m group:"DOMAIN\Domain Admins":rwx /srv/samba/example/
    2. Domain Users组赋予读和执行权限:

      # setfacl -m group:"DOMAIN\Domain Users":r-x /srv/samba/example/
    3. other ACL条目设置权限,以拒绝与其他 ACL 条目不匹配的用户的访问:

      # setfacl -R -m other::--- /srv/samba/example/

    这些设置只适用于这个目录。在 Windows 中,这些 ACL 映射到仅此文件夹模式。

  3. 要使上一步中设置的权限被在此目录中创建的新文件系统对象继承,请执行以下操作:

    # setfacl -m default:group:"DOMAIN\Domain Admins":rwx /srv/samba/example/
    # setfacl -m default:group:"DOMAIN\Domain Users":r-x /srv/samba/example/
    # setfacl -m default:other::--- /srv/samba/example/

    使用这些设置,现在将主体的仅此文件夹模式设置为此文件夹、子文件夹和文件模式。

Samba 将流程中设置的权限映射到以下 Windows ACL:

Expand
主体权限适用于

domain\DomainAdmins

完整控制

这个文件夹、子文件夹和文件

Domain\Domain Users

读和执行

这个文件夹、子文件夹和文件

每个人 [a]

这个文件夹、子文件夹和文件

所有者Unix 用户\所有者[b]

完整控制

只限于这个文件夹

primary_group (Unix 用户\primary_group) [c]

只限于这个文件夹

创建者所有者 [d] [e]

完整控制

只适用于子文件夹和文件

创建者组 [e] [f]

只适用于子文件夹和文件

[a] Samba从othe ACL 条目映射此主体的权限。
[b] Samba 将目录的所有者映射到此条目。
[c] Samba 将目录的主组群映射到这个条目。
[d] 在新文件系统对象中,创建者会自动继承这个主体的权限。
[e] 在使用 POSIX ACL 的共享中不支持从 ACL 配置或删除这些主体。
[f] 在新文件系统对象中,创建器的主组群自动继承这个主体的权限。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部