Samba

在 Linux 主機和 Windows 來賓 VM 之間共享文件夾

  • January 21, 2020

我正在嘗試將我的主作業系統 (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 儲存庫的版本;舊版本可能需要其他調整。

引用自:https://unix.stackexchange.com/questions/292901