如何使用Windows Linux子系统访问UNC路径?


16

我已经下载了Windows 10的BASH。如何像在Windows环境中一样导航到网络地址?我看过提到SAMBA并下载了smbclient

我试过了:

smbclient \\localhost\

我收到错误

ERROR: Could not determine network interfaces, you must use a interfaces config file

我是BASH的新手,并认为这是提高效率的机会。

另外,请显示我如何完成一些常见任务,例如通过网络复制文件,以及如何进行身份验证,因为这种操作可能需要这样做。

Answers:


22

在最新的Windows版本“ Fall Creators Update”中,可以从WSL中挂载UNC路径或Windows可以访问的任何其他文件系统

您可以mount像平常一样使用drvfsWSL提供的文件系统“ ” 来执行此操作:

sudo mount -t drvfs '\\server\share' /mnt/share

UNC路径周围的单引号很有用,这样您就不必转义反斜杠。您可以挂载在任意目录上;我在/mnt/share这里用作示例,但是任何空目录都可以。

所有文件将以完全a+rwx 777权限显示。当您尝试访问文件时,将检查实际的访问权限,即使看起来操作应该成功,您也可能会在此时收到错误消息。每个可读文件将被视为可执行文件。


对于需要凭据的位置,您可以选择三个选项:

  1. 挂载之前,使用Windows的文件资源管理器导航到该位置并进行身份验证。WSL将继承您的凭据和权限。这是一次性的最简单方法。
  2. net use从cmd提示符或net.exe useWSL内部使用命令(cd /mnt/c首先禁止显示警告)。您将需要类似的东西net.exe use \\server\share <PASSWORD> /USER:<USERNAME>。您可以改用'*'提示输入密码。其他配置以表示net.exe help use
  3. 使用Windows凭据管理器来设置存储的凭据。我从来没有做过这一件事。

我知道Samba也可以在WSL下工作,但是由于主机提供了相同的功能,因此我会在可用时使用Windows的内置版本。smbclient主要用于通过FTP方式访问SMB服务器以及检索/放置单个文件,并且在照常进行适当配置后,它应该可以工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.