在 Linux 主機和 Windows 來賓 VM 之間共享文件夾
我正在嘗試將我的主作業系統 (openSUSE 42.1) 之間的文件夾共享給來賓 Windows 7 虛擬機,但我無法正確設置它。
我從 訪問虛擬機
virt-manager
,並且我讀到完成此操作的最佳方法是使用 Samba。我已將此部分添加到我的
/etc/samba/smb.conf
[shared] comment = my shared folder guest ok = Yes inherit acls = Yes path = /home/user/shared read only = No browseable = Yes
/home/user/shared
我設置了to的權限drwxrwxrwx
,並確保它smb.service
已啟動並執行。但是當我執行 Windows VM 並嘗試連接到共享文件夾時,我既無法訪問,也無法看到它。
我該如何解決這個問題?
問題是防火牆阻止了 Samba 使用的埠上的連接。
我必須添加必要的例外,現在它按預期工作。
我需要訪問較舊的 Windows 7 VM(來自 PopOS 19.04,儘管我毫不懷疑它也可以與 Ubuntu 一起使用)並遇到了同樣的問題。諮詢了數十個網站,包括這個網站。我用共享資源設置了 smb.conf,沒問題。然後從windows端我反复嘗試映射一個驅動器,使用那些站點的指令,所有這些都說使用我的Linux帳戶名(正確),KVM管理器的virbr0 IP地址(也是正確的,例如,192.168.122.1 .這當然不是Linux機器本身的正常IP地址),並選中“使用不同的憑據連接”框 - 錯誤。經過多次嘗試,我決定看看如果我不選中此框會發生什麼。想像一下,當驅動器正確映射並且我能夠對其進行讀寫時,我會感到驚訝!
對於 OP,請確保您已啟用 Samba,使用:
systemctl 啟用 smb.service
這樣它會在您下次重新啟動機器時重新啟動。
另請注意,不需要更改防火牆,這也與許多網站的建議相反。在這種情況下,使用從 Linux 主機到 Windows VM 的 virbr0 連接提供了與主房屋網路的隔離。
從 Windows 端創建 samba 連接時,也無需選擇“登錄時重新連接”;為了測試這一點,我關閉了虛擬機,然後重新啟動它,然後點擊我指向驅動器 Z 的連結:(這是我映射 Samba 共享的位置),它立即重新連接,而無需重新添加憑據。
我現在可以輕鬆地在 Linux 端和 Windows 端之間共享文件。注意:這是 Samba 4.10.0,它是來自 PopOS 和 Ubuntu 儲存庫的版本;舊版本可能需要其他調整。