如何为 Samba 共享中创建的文件设置默认组

如何为 Samba 共享中创建的文件设置默认组

/home/pi/pydev我正在与 Samba 共享 debian 盒子(实际上是树莓派)上的一个目录。我正在 Windows 7 计算机上读取和写入该目录。当我在 W7 下创建该目录中的文件时,它获得 0764 权限,并且由用户 rolf 和组 rolf 拥有 - 这就是我在 W7 机器上的情况。

debian 盒子上的用户 pi 和用户 rolf (在 W7 上)都需要能够修改该目录中的文件,所以我让他们都是 group 的成员coders,希望我可以对其进行配置,以便编码人员的成员至少具有读写权限访问该目录中的文件。 。

但用户 pi 无法修改属于 rolf 组的任何文件。

我可以chmod rolf:coders <filename>逐个归档。
将用户 pi 添加到组 rolf 是丑陋的,并且不起作用(没想到会这样。除了 Debian 之外,Samba 是否还维护与组完全不同的用户管理?)。
我还可以以 rolf 身份登录到 Debian 机器,然后导航到该文件夹​​。

但(对我来说)最优雅的方式是,默认情况下,rolf 从 W7 机器创建的文件将获得 userid rolf 和 groupid 编码器。

我可以配置 Samba 来执行此操作,还是有其他方法可以自动执行该任务?

答案1

如果我正确理解您的要求,那么您想要的就位于smb.conf此处:

   /etc/samba/smb.conf

将这些选项添加到该[global]部分:

   force user = rolf
   force group = coders

答案2

您可以尝试为该文件夹上的组添加粘滞位

chmod 2770 foldername
find foldername -type d -exec chmod g+s {} \;

答案3

在 samba 域上samba-tool

samba-tool group addmembers 'My Group Name' 'My Username'
samba-tool user setprimarygroup 'My Group Name' 'My Username'

相关内容