samba - 在另一个用户主目录中共享时权限被拒绝

The*_*uah 8 permissions samba

我有两个用户equah并且hoster在我的机器上。

我创建了一个桑巴份额test1/home/equah,这是用户访问equah没有任何问题。

我还创建的共享test2/smbtest,并改变所有权用户equah,这是由访问equah过。

但是,当我创建共享test3/home/hoster/sharetest,并尝试连接,与鹦鹉螺提示Failed to mount Windows share: Permission denied,这是我想获得工作。

ls -l 显示了所描述目录的以下详细信息:

drwx------ 14 equah equah 4096 Sep  8 20:09 /home/equah
drwxr-xr-x 2 equah equah 4096 Sep  8 20:33 /smbtest
drwxrwxrwx 3 equah equah 4096 Sep  8 20:44 /home/hoster/sharetest
drwx------ 19 hoster hoster 4096 Sep  8 20:20 /home/hoster
Run Code Online (Sandbox Code Playgroud)

我还看到,访问控制系统在hoster主目录上应用了权限,我将其删除以查看是否是错误,但没有成功。

我目前使用全新的 Arch Linux 安装samba 4.8.5-1

我的 samba 配置 ( /etc/samba/smb.conf) 包含:

[global]
   workgroup = EQGROUP
   server string = eq-host samba server
   server role = standalone server
   log file = /var/log/samba/%m.log
   max log size = 50
   dns proxy = no 

[test1]
   comment = test
   path = /home/equah
   valid users = equah

[test2]
   comment = test
   path = /smbtest
   valid users = equah

[test3] # <== Not Working ?
   comment = test
   path = /home/hoster/sharetest
   valid users = equah
Run Code Online (Sandbox Code Playgroud)

我的难处是,某些权限设置可能会阻止登录的 samba 用户访问其他用户拥有任何父目录的目录的内容。很难在其中创建共享/home/hoster/sharetest/test并将两者的所有权更改sharetest/test为 eqah,仅共享test文件夹也不起作用

roa*_*ima 6

您在这里遇到了典型的所有权/权限问题。你告诉SAMBA允许访问/home/hoster/sharetestequah,但你的底层文件系统权限拒绝访问用户(drwx------ 19 hoster hoster 4096 Sep 8 20:20 /home/hoster)。

允许equah访问目录,应该没问题

chmod a+x /home/hoster
Run Code Online (Sandbox Code Playgroud)

或者强制访问equahhoster

# add to smb.conf share definition
force user = hoster
Run Code Online (Sandbox Code Playgroud)

一般来说,可以使用log level = 3和查看 SAMBA 服务器日志文件来诊断此类问题。