Ubuntu 20.04 Nautilus samba 设置

Ubuntu 20.04 Nautilus samba 设置

我尝试使用 Ubuntu 客户端 (20.04) 通过 Nautilus 访问 NAS 上的 Samba 共享。但只有当我在服务器上启用 SMB1 时,Nautilus 才会看到 Samba 共享。为什么 Nautilus 使用的是 SMB1?我想强制 Nautilus 使用更高的 Samba 版本。我该怎么做?

答案1

我读到您的帖子的方式是:服务器 (NAS) 未启用 SMB1。Ubuntu 客户端无法获取该服务器的共享枚举,直到您在服务器上启用 SMB1。

那是对的吗?

如果是这样,那么这是一个错误。

Ubuntu 20 中的 samba 客户端默认可以从 SMB2.02 一直升级到 SMB3.11,因此它已经能够连接到更高级方言的服务器。

问题在于 gvfsd-smb-browse 中的一个错误,它被硬连线为在 SMB1 上扫描网络,但随后卡在那里。但这仅在您浏览网络中的 samba 主机时发生。解决此问题的唯一方法是绕过 gvfsd-smb-browse:

您可以通过 Nautilus 请求服务器并在位置栏中明确共享或使用“连接到服务器”来执行此操作:

smb://nas-hostname/share-name

或者

smb://nas-home-name.local/share-name

或者

smb://nas-ip-address/share-name

或者执行 mount.cifs 挂载,默认情况下也从 SMB2 转到 SMB3,但不使用 gvfsd-smb-browse:

我建议在 /media 下创建一个挂载点(比如说 /media/nas-share ),原因如下:

确保已安装 cifs-utils:sudo apt install cifs-utils

如果您的 nas 允许访客访问:

sudo mount -t cifs //nas-ip-address/nas-share /media/nas-share cifs guest,uid=marc

如果您的 nas 需要凭证:

sudo mount -t cifs //nas-ip-address/nas-share /media/nas-share cifs username=XXXXX,password=YYYYY,uid=marc

这是uid=marc该选项用 marc 替换 root 作为已挂载共享的所有者,以便他具有读/写访问权限。

一旦成功,您就可以在 /etc/fstab 中添加一个条目,这样您就可以通过 Nautilus 根据需要进行挂载,而不必进行终端挂载。因此,在 fstab 中它看起来应该像这样:

//nas-ip-address/nas-share /media/nas-share cifs username=XXXXX,pasword=YYYYY,uid=marc,noauto,user 0 0

禁止自动= 使其不会在启动时自动安装。

用户= 允许普通用户(非 sudo )挂载共享。

由于共享安装在 /media 下,Nautilus 的侧面板上会出现一个图标,选择后将根据 fstab 中的说明安装该共享。稍后可以使用同一个图标卸载共享。

答案2

不确定这是否有帮助,但在服务器大小上,WS-discovery 是否已激活?在我的 Synology 服务器上,我必须转到控制面板/文件服务/高级来激活它(列表中的最后一个选项)。

相关内容