Golang:访问 Windows 共享(来自 Linux 应用程序)

Bar*_*rim 5 windows-share go

是否有一种正确的方法可以从在 Linux 设备上编译并运行的 Go 应用程序连接到 Windows 共享,例如 \windowspc\c$\myshare?

共享将需要凭据才能将文件保存到目标 UNC 路径。

是否有最佳实践来实现这一点?

joh*_*nes 6

理论上是的,实际上不是。

Windows 共享使用 SMB/CIFS 协议系列。这些可以在 Go 中实现并用于访问共享。不过,这是一项艰巨的任务。

最好的方法是要求从您的系统挂载共享,然后像从应用程序访问本地文件系统一样访问它,而不是在您的应用程序中使用它。

如果你真的想使用 SMB/CIFS,你可以在 Go 中检查 Gnome VFS(虚拟文件系统)或 FUSE 作为 C 库,但这将是混乱和丑陋的。