
我在 Ubuntu Server LTS 上设置 samba 共享权限时遇到问题。我在文件中设置了两个共享smb.conf
。这些条目看起来像这样:
[share]
comment = Ubuntu File Server Share
path = "insert real path name here"
browsable = yes
guest ok = no
read only = no
create mask = 0700
group = group1
[media]
comment = Ubuntu File Server Share
path = "insert real path name here"
hide unreadable = yes
browsable = yes
guest ok = no
read only = no
group = group2
create mask = 0700
在文件系统中,我是与这两个共享相关的所有目录的所有者。该[media]
股份由 集团拥有group2
,而 则由[share]
集团拥有group1
。对于这两个目录,我将文件权限设置为 771,其中所有者和组都具有读、写和执行权限,但来宾只能执行。我的系统中有 3 个用户:我自己、我的妻子和我的母亲。我属于group1
和group2
,我的妻子也是如此。我的母亲只属于group2
。当我从 Windows 桌面登录服务器时,我的凭据按预期工作。但如果我用我妻子或我母亲的,就没有任何效果。他们可以登录服务器,但当他们单击其中一个共享文件夹时,会显示另一个登录屏幕,要求输入另一个用户名/密码。这总是失败,并且不允许他们访问文件夹。
我希望我和我的妻子能够访问这两个文件夹,同时限制其他用户的访问。我在这里缺少什么?我已经尝试解决这个问题很长一段时间了,但我似乎无法弄清楚。
答案1
我发现我有两个问题:
- 我没有意识到需要为每个用户分配一个 samba 密码
- 该行
group = group1
需要更改为write list = @group1
答案2
我检查 samba 相关(权限)错误的前两个地方是:-
/var/log/auth.log
/var/log/samba/*
您create mask
似乎只允许所有者读取、写入和执行新创建的文件和文件夹。您可能想通过设置添加组读取和执行权限:
create mask = 0750
还有一个directory mask
设置,您也想明确设置为0750
。默认值为0000
。
directory mask = 0750