如何强制在子目录中创建的文件夹归用户的次要组所有?

如何强制在子目录中创建的文件夹归用户的次要组所有?

我在 Ubuntu 12.04 上为我们的财务团队设置了一个 Samba 共享,他们通过 Windows 7 和 Mac OS X 访问它。他们使用自己的 LDAP 凭据安装该共享。我们所有的 LDAP 用户都以“员工”作为其主要组,而财务团队属于名为“财务”的次要组。

当任何财务团队成员在 Samba 共享中创建文件夹时,该文件夹的组默认为“员工”。如何强制将共享上创建的所有文件和文件夹的组设置为“财务”?

答案1

对于共享 foo,路径为 /bar/foo,文件中的以下内容smb.conf应该可以执行此操作:

[foo]
        path = /bar/foo
        force create mode = 0020
        force directory mode = 0030
        force group = +finance

模式语句是为了确保通过 samba 创建的所有目录和文件都是可组写入的:如果该组没有执行任何操作的权限,那么仅由正确的组拥有是没有用的。

答案2

您可以使用 setfacl 来实现此目的。Man setfacl 在这里。Setfacl 允许您设置与默认不同的所有权和权利。这里是一个类似的问题,它也可以帮助您:

相关内容