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


11

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

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

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

我可以chmod rolf:coders <filename>逐个文件。
将用户pi添加到组rolf很难,并且行不通(没想到。Samba会与Debian一起在组中维护完全不同的用户管理吗?)。
我也可以以rolf的身份登录到debian机器,并浏览至该文件夹。

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

我可以配置Samba来做到这一点,还是有其他方法可以自动执行该任务?

Answers:


10

如果我了解您的要求是正确的,那么您想要的是位于以下smb.conf位置:

   /etc/samba/smb.conf

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

   force user = rolf
   force group = coders

没问题。乐意效劳。:D
devnull 2014年

1
如果像我这样有人想要添加用户,组和实际权限字符串添加create mask = 0775
danielson317

您知道force指令使任何用户都以指定用户/组的身份进行操作吗?说,例如,您有一个共享/joe和一个共享/anne,如果您force user = anne共享/anne,则用户joe可以访问/anne,很大的风险,很大的安全风险!此选项是如此令人误解,应该更好地记录下来,不要轻易使用
Gizmo

8

您可以尝试在该文件夹中为该组添加粘性位

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

喜欢它。正确的答案应该是这个。使目录和子目录上的组权限变为粘性是典型的Linux文件系统问题,而不是Samba问题。
therealmarv

它有什么作用?
SandRock '18
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.