升级到 Ubuntu 20.04,无法访问旧版 NAS 和 samba 服务器

升级到 Ubuntu 20.04,无法访问旧版 NAS 和 samba 服务器

升级到 20.04 后,我现在无法访问旧 nas 或旧 samba 服务器上的 samba shes。

我尝试编辑 smb.conf,并添加“client min protocol = CORE”。这部分修复了问题并进行了身份验证,允许您查看共享内的文件夹,但随后里面的所有文件都显示为文件夹。我无法将文件复制出来进行访问,也无法在 caja 中打开它们,我认为在 Nautilus 中也会这样。

除此之外我很享受 20.04 :)

提前致谢

比格利

答案1

我发现我的问题出在 Samba 客户端(因为我的设置中根本没有在任何地方运行 Samba 服务器)。

桌面客户端(MATE Caja 文件管理器)将看到名称错误的 NAS 服务器。它会看到 NAS 盒名称(mynas),而不是配置的 SMB 服务器名称(homebackup)。

当我使用时:

$ smbclient //homebackup/mybackup

我能够通过 smbclient 连接并浏览和复制文件。

因此我进入 Caja 并手动输入:

smb://homebackup/mybackup

然后 wala 份额就出现了。

所以对我来说唯一的问题是浏览网络而不是附加到共享。

即使以这种方式手动连接后,Caja 浏览器在网络下仍然显示 mynas 而不是 homebackup!!!

答案2

只是为了完整性...因为我无法从帖子中读出确切的说明。如果您有使用 SMB1 的 NAS(例如 FritzBox),您可以使用以下命令让 nautilus/gio 降级 smb 连接,如果您还没有 .smb/smb.conf 文件(像我一样):

mkdir ~/.smb
echo "[global]" > ~/.smb/smb.conf
echo "client min protocol = CORE" >> ~/.smb/smb.conf

作为 FritzBox 用户的替代方案,您可以使用实验性的 Fritz!Lab OS 将 FritzBox 升级到 SMB2/SMB3。请参阅https://en.avm.de/service/fritzbox/fritzbox-7490/knowledge-base/publication/show/3327_SMB-versions-supported-by-the-FRITZ-Box/

那么您可能不需要这个解决方法,但我还没有测试过。

文件显示为文件夹的错误现已在 Ubuntu 20.04 (focal) 中使用 smblibs 软件包版本 4.11.6+dfsg-0ubuntu1.2 进行修复

答案3

您有 2 个选择:

[1] 安装 PPA“修复”,以便您可以继续通过 caja 执行此操作。

错误报告中列出了详细信息:https://bugs.launchpad.net/ubuntu/+source/samba/+bug/1872476

PPA 可以在这里找到:https://launchpad.net/~sergiodj/+archive/ubuntu/samba-bug1872476-v2

[2] 我强烈建议您使用 CIFS 挂载。

这样,您就可以不管 smb.conf,而使用早期版本的 smb 为您的 NAS 盒创建特定的挂载。

这里的另一个问题中有一个关于如何做到这一点的示例:20.04 升级导致 NAS 不可用

编辑:我理解您不愿意在 fstab 中挂载,但可以将其设置为 systemd 自动挂载,这样它就不会在启动时挂载 - 仅当您访问挂载点时才会挂载。

以下只是建议。如果步骤 [1] 不起作用,则在 fstab 中进行设置毫无意义。

[1] 首先进行临时挂载以确保其正常工作:

** 创建一个挂载点(不要将其放在主目录或 /media 下):

sudo mkdir /mnt/NASx

** 进行临时挂载:

sudo mount -t cifs //nas-ip-address/share-name /mnt/NASx -o username=xxxx,password=yyyy,uid=1000,vers=1.0,sec=ntlm

[2] 如果步骤 [1] 有效,您可以在 fstab 中将其设置为自动挂载:

** 卸载共享:

sudo umount /mnt/NASx

** 将其添加到 /etc/fstab

//nas-ip-address/share-name /mnt/NASx cifs username=xxxx,password=yyyy,uid=1000,vers=1.0,sec=ntlm,noauto,x-systemd.automount 0 0

** 然后重置 systemd:

sudo systemctl daemon-reload
sudo systemctl restart remote-fs.target

** 然后访问 /mnt/NASx 来验证其内容。

禁止自动= 防止在启动时安装。

x-systemd.automount= 仅当访问挂载点时才挂载远程共享。

相关内容