挂载 SMB 共享而不在远程路径中指定共享目录

挂载 SMB 共享而不在远程路径中指定共享目录

我打算将挂载从“//192.168.1.x/SomeFolder”更改为“//192.168.1.x/”,这样我就可以选择要使用 Docker 容器访问的数据集。

它给了我这样的错误:

mount error(2): No such file or directory
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)

有什么想法如何在不指定数据集/文件夹的情况下挂载远程 SMB 共享吗?

PS:这是我正在使用的安装命令: sudo mount -t cifs -o rw,vers=3.0,credentials=REDACTED //192.168.1.72/SomeFolder /mnt/NAS

答案1

在“//192.168.1.x/SomeFolder”中,“SomeFolder”不是文件夹。这是一个名字分享。这是 SMB 协议设计的。在 SMB 中实际上无法执行“//192.168.1.x/”。 “份额”的名称是绝对必要的。

也就是说,有一种方法可以解决这个问题。假设您的 NAS 上有多个共享(SomeFolder、AnotherFolder、AnotherOne),您可以在 /mnt/NAS 中创建一组模仿共享组的目录,然后分别挂载每个目录。在这种情况下,您将有一个如下所示的脚本(或 fstab 中的一组条目):

mount -t cifs -o rw,vers=3.0,credentials=REDACTED //192.168.1.72/SomeFolder /mnt/NAS/SomeFolder 
mount -t cifs -o rw,vers=3.0,credentials=REDACTED //192.168.1.72/AnotherFolder /mnt/NAS/AnotherFolder 
mount -t cifs -o rw,vers=3.0,credentials=REDACTED //192.168.1.72/AnotherOne /mnt/NAS/AnotherOne

所以现在,您的 /mnt/NAS - 有几个完全符合您需求的入口点。缺点 - 如果您在 NAS 上创建新共享,则必须更新安装脚本。但它确实有效。

相关内容