某些 Samba 共享在网络上不可见,但仍可通过地址访问

end*_*ith 5 windows samba shared-folders mate caja

从我记事起,这种情况就已经发生了。Nautilus/Caja 在文件夹上显示一个共享图标,可以通过键入文件夹名称从 Windows 访问它们,但它们不会显示在文件夹列表中。

其他文件夹确实显示在列表中,即使 Nautilus 中的共享选项没有什么不同。

如果我更改共享名称,它们就会出现。如果我把它改回来,它们又会消失。

更新:

我在一台新计算机上全新安装了 Ubuntu,caja-share使用相同的设置共享了两个文件夹,我可以访问一个但不能访问另一个。两者都具有相同的所有者、组和权限:

drwxrwxrwx 2 endolith endolith 4.0K Sep 28 19:35 notwork/
...
drwxrwxrwx 2 endolith endolith 4.0K Sep 28 19:35 works/
Run Code Online (Sandbox Code Playgroud)

一个有效/home,另一个在/mnt,所以这可能是原因?

caja-share 设置

在此处输入图片说明

看起来这些的实际配置是/var/lib/samba/usershares. /var/lib/samba/usershares/notwork是:

#VERSION 2
path=/mnt/drivepool/notwork
comment=
usershare_acl=S-1-1-0:F
guest_ok=y
sharename=notwork
Run Code Online (Sandbox Code Playgroud)

/var/lib/samba/usershares/works 是:

#VERSION 2
path=/home/endolith/works
comment=
usershare_acl=S-1-1-0:F
guest_ok=y
sharename=works
Run Code Online (Sandbox Code Playgroud)

所以唯一的区别是路径,正如在我的 smb.conf 文件中提到但没有真正解释的那样它出什么问题了?.

安装drivepool在我的主文件夹下也不能修复它。因此,这不是路径本身,而是与在装载内部有关的事情,即mergerfs.

我在 MATE 桌面环境 Ubuntu 16.04.1 LTS 下使用caja-share( mate-file-manager-share)共享文件,但它也安装了标准的 Ubuntu 环境。

编辑:

线索!我发现 Samba 有连接到它的每台机器的日志文件。

[2016/10/09 23:32:54.687515,  0] ../source3/param/loadparm.c:3259(process_usershare_file)
  process_usershare_file: stat of /var/lib/samba/usershares/win7backup failed. Permission denied
[2016/10/09 23:32:54.697705,  0] ../source3/smbd/service.c:199(set_current_service)
  chdir (/mnt/drivepool/Backups/win7backup) failed, reason: No such file or directory
Run Code Online (Sandbox Code Playgroud)

有这样一个目录,当然是:

~> la /mnt/drivepool/Backups/
drwxrwxrwx 2 endolith endolith 4.0K Sep 26 22:42 win7backup/
Run Code Online (Sandbox Code Playgroud)