我无法通过 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
完整配置文件这里。
ls
包含文件夹给出:
drwxrwxr-x 31 diederik diederik 4096 Oct 18 19:27 Photos
和
drwxrwxr-x 124 diederik diederik 20480 Nov 28 01:15 HomeMovies
因此,所有权和访问权限对我来说看起来没问题。(子文件夹也有正确的访问权限。)
当我在本地浏览时(转到文件 -> 其他位置 -> 网络主机名 -> 照片),应用程序首先向我显示一个访问对话框,我选择匿名。然后我就可以浏览文件了。当我在非主文件夹中选择匿名时,它显示:无法挂载 Windows 共享:权限被拒绝。
(我也无法访问我的 htpc 上的非主文件夹共享,也运行着 Ubuntu 18.10。)
访问失败后,我查找了/var/log/syslog
与 Samba 相关的任何内容,但什么也没找到。该文件夹/var/log/samba/
只包含旧文件,因此也没有什么有趣的东西。
我也尝试使用资源管理器:右键单击->非主文件夹的本地网络共享选项,但这也不起作用。
对于主文件夹之外的文件夹,Samba 规则是否有所不同?
答案1
改变这个:
[Home movies]
path = /media/diederik/<hdd-guid>/HomeMovies
; writeable = No
; browseable = yes
guest ok = yes
对此:
[Home movies]
path = /media/diederik/<hdd-guid>/HomeMovies
; writeable = No
; browseable = yes
guest ok = yes
force user = diederik
然后重新启动smbd:sudo service smbd restart
原因:系统创建具有特殊权限的 /media/diederik,仅允许 diederik 遍历文件夹以获取其后面的内容。来宾用户不是您,因此它永远不会访问 HomeMovies 文件夹。force user
使来宾用户看起来像您 - 至少对于此共享而言。
笔记:即使来宾用户看起来就是您,共享定义仍然会阻止写入。
编辑:刚刚注意到您原帖中的这条评论:
我也尝试使用资源管理器:右键单击->非主文件夹的本地网络共享选项,但这也不起作用。
您必须撤消该操作。不能同时使用两种不同的方法对同一文件夹进行两个 Samba 共享,否则 Samba 会感到困惑。只需返回文件管理器 > 本地网络共享 > 并撤消共享即可。