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

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

我的机器上有两个用户equahhoster

test1我在 中创建了一个 samba 共享/home/equah,用户可以equah毫无问题地访问该共享。

我还创建了共享test2并将/smbtest所有权更改为 user equah,也可以访问该用户equah

但是当我创建共享test3/home/hoster/sharetest尝试连接时, nautilus 会提示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

我还看到,访问控制系统对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

我的困难是,某些权限设置可能会阻止登录的 samba 用户访问任何父目录都属于另一个用户的目录的内容。很难创建共享/home/hoster/sharetest/test并将两者的所有权更改sharetest/test为 equah,也无法仅共享test文件夹

答案1

这里有一个典型的所有权/权限问题。您已告诉 SAMBA/home/hoster/sharetest仅允许访问equah该用户 ( ),但您的底层文件系统权限拒绝访问该用户 ( drwx------ 19 hoster hoster 4096 Sep 8 20:20 /home/hoster)。

允许equah访问该目录应该就可以了

chmod a+x /home/hoster

或者强制访问由equah执行hoster

# add to smb.conf share definition
force user = hoster

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

相关内容