我在 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 允许您设置与默认不同的所有权和权利。这里是一个类似的问题,它也可以帮助您: