假设我有一个名为 Corp 的受保护目录,只有 unix 组 Corp 的成员才能访问,并且其主要工作原理是:
阅读列表 = @corp
写入列表 = @corp
创建掩码 = 0770
问题是,当用户在那里创建文件时,它会将用户和组所有权设置为他们,例如当 user1 创建 foo1 时,它对 user1:user1 具有权限 770,而 user2 无法访问或编辑该文件。
有没有办法从 samba 设置中将其设为 user1:corp 或者我应该将创建掩码更改为 0777 (我在共享目录上执行 chgrp -R corp 后暂时启用了该掩码)?
用户可以通过 SSH 访问服务器,因此文件夹 /svr/corp 本身需要受到限制,目前其设置为 770。
答案1
您可以force group
在共享定义中使用指令来强制将特定组用于该共享上的所有文件。
答案2
在目录上设置 setgid 权限,以便在该目录下创建的对象使用目录设置的组 ID 创建。
chmod 2770 /svr/corp
然后,目录中创建的任何对象都将使用 /srv/corp 目录的 gid 创建。