Samba4:ACL 继承:新创建的文件/目录中的所有者组将更改为“域用户”

Samba4:ACL 继承:新创建的文件/目录中的所有者组将更改为“域用户”

Ubuntu Xenial 服务器(16.04)上的 Samba 版本 4.3.11

在 smb.conf 中我有:

Server role: ROLE_DOMAIN_MEMBER
[global]
  ...
  inherit permissions = Yes
  inherit acls = Yes

  # I needed this due to another issue
  server max protocol = NT1
  max protocol = NT1
  protocol = NT1
  ...
[institute]
  ...
  map acl inherit = Yes
  store dos attributes = Yes
  vfs objects = acl_xattr

我总是从 Linux 端设置/管理共享。

我已经设置了一个目录的 acl,如下所示:

# getfacl .

# file: .
# owner: rawi
# group: hg_pat
# flags: -s-
user::rwx
group::r-x
group:hg_qm:rwx
mask::rwx
other::---
default:user::rwx
default:group::r-x
default:group:hg_qm:rwx
default:mask::rwx
default:other::---

现在我在其下面创建一个目录 TEST从 Windows 客户端然后我查看了 acls:

# getfacl TEST

# file: TEST/
# owner: rawi
# group: domain\040users
user::rwx
user:rawi:rwx
group::r-x
group:domain\040users:r-x
group:hg_qm:rwx
mask::rwx
other::---
default:user::rwx
default:user:rawi:rwx
default:group::r-x
default:group:domain\040users:r-x
default:group:hg_qm:rwx
default:mask::rwx
default:other::---

...标准组现在是“域用户”,但并非所有人都应该在这里拥有任何权利,只有组 hg_pat (rx) 和 hg_qm (rwx)。

顺便提一句。有还是没有配置中的以下内容不会对继承产生影响

map acl inherit = Yes
store dos attributes = Yes
vfs objects = acl_xattr

没有只允许一个组的 acls 没有问题:sgid 做得很好。

但是由于需要两个具有不同权限的组,因此需要 acl,samba 会停用 sgid 并将不需要的“域用户”添加为“CREATOR GROUP”。

我怎样才能避免这种群体变化并获得干净的继承?

谢谢

拉威

答案1

添加inherit owner = yes到 smb.conf 会将您在父文件夹上设置的组所有权保留到 Windows 端创建的所有后续文件夹。您将得到类似以下内容:

# getfacl TEST

# file: TEST/
# owner: rawi
# group: hg_pat
# flags: -s-
user::rwx
group::r-x
group:hg_qm:rwx
mask::rwx
other::---
default:user::rwx
default:group::r-x
default:group:hg_qm:rwx
default:mask::rwx
default:other::---

相关内容