5

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

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

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

4

2 回答 2

6

理论上可以,实际上不行。

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

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

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

于 2014-06-09T16:32:20.363 回答
1

我只是在 GO 中寻找一个类似 impacket 的库,并在同一个搜索中发现了这个很棒的发现 https://github.com/gentlemanautomaton/smb ,这个问题也出现了,所以我想我应该帮助你并在这里发布。

于 2019-10-01T22:55:28.373 回答