Windows-Subsystem-for-Linux
如何使用適用於 Linux 的 Windows 子系統訪問 UNC 路徑?
我已經下載了適用於 Windows 10 的 BASH。如何像在 Windows 環境中一樣導航到網路地址?我看過提到的 SAMBA 並下載了smbclient。
我試過了:
smbclient \\localhost\
我收到錯誤
ERROR: Could not determine network interfaces, you must use a interfaces config file
我是 BASH 的新手,我認為這是一個提高效率的機會。
作為獎勵,請展示我如何完成一些常見任務,例如通過網路複製文件,以及如何進行身份驗證,因為這些操作可能需要這樣做。
在最新的 Windows 版本“Fall Creators Update”中,可以從 WSL 中掛載 UNC 路徑或 Windows 可以訪問的任何其他文件系統。
您可以
mount
像往常一樣使用命令執行此操作,使用drvfs
WSL 提供的文件系統 " “:sudo mount -t drvfs '\\server\share' /mnt/share
單引號在 UNC 路徑周圍很有用,因此您不必轉義反斜杠。您可以掛載在任意目錄上;我在
/mnt/share
這裡用作範例,但是任何空目錄都可以。所有文件都將以完全
a+rwx
777
權限顯示。當您嘗試訪問文件時,將檢查真正的訪問權限,即使看起來操作應該成功,您也會在此時收到錯誤消息。每個可讀文件都將被視為執行檔。對於需要憑據的位置,您有三個選項:
- 在安裝之前,使用 Windows 的文件資源管理器導航到該位置並進行身份驗證。WSL 將繼承您的憑據和權限。這是一次性的最簡單的方法。
net use
從 cmd 提示符或net.exe use
WSL 內部使用該命令(cd /mnt/c
首先抑制警告)。你需要類似的東西net.exe use \\server\share <PASSWORD> /USER:<USERNAME>
。您可以使用'*'
來提示密碼。其他配置用 顯示net.exe help use
。- 使用 Windows 憑據管理器設置儲存的憑據。我從來沒有做過這個。
我知道 Samba 本身也可以在 WSL 下工作,但由於主機提供相同的功能,我會在可用時使用 Windows 的內置版本。
smbclient
主要用於對 SMB 伺服器的 FTP 樣式訪問和檢索/放置單個文件,並且在正常配置時應該可以正常工作。