在每个人都具有写权限的地方创建一个Samba共享


11

我家中有一个运行samba的Ubuntu服务器。我正在尝试建立一个samba共享,每个人都具有读写访问权限。

我将所有用户都包含在“ sambashare” UNIX组中,并希望将目录/ data / shared提供给“ sambashare”组的所有成员以进行读写访问。

理想情况下,如果用户使用samba在其中创建文件,则该文件应具有权限0644 并由用户名:sambashare 拥有

我无法确定要在smb.conf文件中添加哪些内容才能使其正常工作,也无法确定要赋予/ data / shared文件夹哪些Unix权限。

Answers:


7

在smb.conf中的共享目录部分中,放置:

create mask = 0644
directory mask = 2777

最初,g+s对所有目录使用权限,然后将它们授予sambashare组。s位将使创建的文件组与目录组相同(而2777将处理新目录中的s位)。


您好,我已经尝试过了,但是没有用!你能看看我的问题
吗?maxisme

4

要允许组中的每个人都SAMBASHARE可以访问共享,请在[global]指令中添加以下内容:

create mode = 664
workgroup = SAMBASHARE
security = SHARE
usershare allow guests = yes

要导出,/data/shared您必须在文件末尾添加以下内容:

[data]
comment = shared
path = /data/shared
guest ok = yes
read only = no
public = yes
writable = yes

这对您应该有用,但是我强烈建议您收集更多 信息



1

在解决了同样的问题并看到许多无助的帖子“解决了”这个问题之后,我终于将问题归结为我想成为组可写的特定共享部分中的一行:

 force directory mode = 2770

“ 2”是必填项,否则,Samba服务器将无法使新创建的目录可组写入(即0770不足)。我在Ubuntu 12.04.01中使用Samba守护程序,通过标准Windows客户端创建目录。

如果在smb.conf手册页中对此进行了记录,那就太好了。

为了澄清起见,以下内容对我不起作用(即使使用“ unix扩展名= off”,目录的创建权限为0750):

[MyShare]
   writeable = yes
   force group = somegroup
   ...
   directory mask = 0770
   directory security mask = 0770
   force directory mode = 0770
   force directory security mode = 0770
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.