只要应用程序知道卷的地址或路径,就允许应用程序使用网络共享卷

只要应用程序知道卷的地址或路径,就允许应用程序使用网络共享卷

我正在将应用程序从 Windows 移植到 Linux(特别是 Ubuntu 14.04)。应用程序需要将数据写入NAS上的网络共享卷。

在 Windows 上,只要满足以下条件,我的应用程序就可以访问 NAS 上的 SMB3 共享卷:

  1. 它知道 SMB3 共享卷的 UNC 路径
  2. 应用程序运行所使用的帐户已被授权(即客户端和服务器之间的用户名和密码相同)。

我不需要安装或映射 SMB3 共享卷的额外步骤外部的应用程序。

在Linux上是否也能达到类似的效果?重要的一点是,如果可能的话,我不想碰 fstab 或 autofs。我希望我的应用程序的配置是集中的。如果我必须修改 fstab 或设置 autofs 规则,那么从我的应用程序的角度来看,我开始将配置分散到各处。网络共享量为仅有的由该特定应用程序使用;系统的其余部分并不关心。

NAS 支持 SMB2/3 或 NFSv3/v4,我对使用一种协议而不是另一种协议没有意见。

答案1

您不需要 root 访问权限来挂载文件系统,这要归功于保险丝。 Samba 有一个 FUSE 驱动程序:SMB网络文件系统

我很少使用它,而且是很久以前的事了,但我记得如果服务器有特殊性,配置起来并不完全简单。这可能是也可能不是问题,具体取决于您的设置以及 NAT 与基本协议的偏离程度。您需要为其提供它将访问的服务器或域的列表。

或者,将您的应用程序链接到重力速度图书馆。 (这不需要为您的用户界面使用 Gnome 库。)您需要使用 GIO 函数而不是openfopen,这样您就可以通过以下方式指定文件备用后端包括某人。 GVfs 需要重写一些应用程序,而不仅仅是访问特定目录,但它的好处是,除了提供凭据之外,您不需要任何配置(通常通过将它们记录在gnome 钥匙圈)。

相关内容