Ubuntu 18.10 samba 共享在非主文件夹中不起作用

Die*_*rik 1 mount samba

我无法获取通过 samba 共享的非主文件夹中的文件夹。如果共享文件夹在我的主文件夹中,它工作正常。如果不是,则不会。

我想只读访问网络上的任何用户(来宾)。

的位/etc/samba/smb.conf,我改变:

; This doesn't work:
[Home movies]
        path = /media/diederik/<hdd-guid>/HomeMovies
;       writeable = No
;       browseable = yes
        guest ok = yes

; This works fine:
[Photos]
        path = /home/diederik/Photos/
;       writeable = No
;       browseable = yes
        guest ok = yes
Run Code Online (Sandbox Code Playgroud)

完整的配置文件在这里

ls包含文件夹给出:

drwxrwxr-x 31 diederik diederik      4096 Oct 18 19:27  Photos
Run Code Online (Sandbox Code Playgroud)

drwxrwxr-x 124 diederik diederik 20480 Nov 28 01:15  HomeMovies
Run Code Online (Sandbox Code Playgroud)

所以所有权和访问权对我来说看起来不错。(子文件夹也有正确的访问权限。)

当我在本地浏览(转到文件 -> 其他位置 -> 网络主机名 -> 照片)时,该应用程序首先向我显示一个访问对话框,我在其中选择了匿名。这样我就可以浏览文件了。当我在非主文件夹上选择匿名时,它显示:无法安装 Windows 共享:权限被拒绝。

(我也无法访问同样运行 Ubuntu 18.10 的 htpc 上的非主文件夹共享。)

访问失败后,我查找了/var/log/syslog与 samba 相关的任何内容,但找不到任何内容。该文件夹/var/log/samba/只包含旧文件,所以也没什么有趣的。

我还尝试使用资源管理器:右键单击 -> 非主文件夹的本地网络共享选项,但这也不起作用。

对于主文件夹之外的文件夹,samba 的规则是否有所不同?

Mor*_*us1 5

改变这个:

[Home movies]
        path = /media/diederik/<hdd-guid>/HomeMovies
;       writeable = No
;       browseable = yes
        guest ok = yes
Run Code Online (Sandbox Code Playgroud)

对此:

[Home movies]
        path = /media/diederik/<hdd-guid>/HomeMovies
;       writeable = No
;       browseable = yes
        guest ok = yes
        force user = diederik
Run Code Online (Sandbox Code Playgroud)

然后重启smbd: sudo service smbd restart

原因:系统创建 /media/diederik 具有特殊权限,仅允许 dieerik 遍历文件夹以获取过去的内容。来宾用户不是您,因此它永远不会进入 HomeMovies 文件夹。force user使来宾用户看起来是您 - 至少对于此共享。

注意:即使来宾用户看起来是您,共享定义仍会阻止写入。

编辑:刚刚在您的原始帖子中注意到此评论:

我还尝试使用资源管理器:右键单击 -> 非主文件夹的本地网络共享选项,但这也不起作用。

您将不得不撤消该操作。不能同时使用两种不同的方法拥有同一文件夹的两个 samba 共享,而 samba 不会混淆。只需返回文件管理器 > 本地网络共享 > 并撤消共享。