Linux中國

如何在 Linux 和 Windows 電腦之間共享文件

如果你使用不同的操作系統,能夠在它們之間共享文件會讓你倍感方便。這篇文章介紹如何使用 Sambamount.cifs 在 Linux (Fedora 33)和 Windows 10 之間設置文件共享

Samba 是 SMB/CIFS 協議的 Linux 實現,允許通過網路連接直接訪問共享的文件夾和印表機。 mount.cifs 是 Samba 套件的一部分,可讓你在 Linux 下掛載 CIFS 文件系統。

注意: 這些說明適用於在你的私有本地網路內,或在 Linux 宿主機和虛擬化的 Windows 訪客機之間的虛擬主機專用網路中共享文件。不要將本文視為你公司網路的操作指南,因為本文沒有實現必要的網路安全考慮。

從 Windows 訪問 Linux

本節介紹從 Windows 文件資源管理器訪問用戶的 Linux 主目錄。

1、安裝和配置 Samba

進入你的系統安裝 Samba:

dnf install samba

Samba 是一個系統守護進程,其配置文件位於 /etc/samba/smb.conf。它的默認配置應該就可以工作。如果不行,下面這個最小化配置應該可以解決問題:

[global]
        workgroup = SAMBA
        server string = %h server (Samba %v)
        invalid users = root
        security = user
[homes]
        comment = Home Directories
        browseable = no
        valid users = %S
        writable = yes

你可以在該項目網站的 smb.conf 部分找到參數的詳細說明。

2、修改 LinuxSE

如果你的 Linux 發行版受 SELinux 保護(比如 Fedora),必須通過以下命令才能通過 Samba 共享主目錄:

setsebool -P samba_enable_home_dirs on

通過以下命令查看這個值:

getsebool samba_enable_home_dirs

輸出如下:

![Sebool](/data/attachment/album/202205/02/233906mxw5xkxgupp56xk8.png "Enabling Samba to enable user directory access")

3、啟用你的用戶

Samba 使用一組用戶/密碼來管理連接許可權。通過鍵入以下命令將你的 Linux 用戶添加到該集合中:

smbpasswd -a <你的用戶名>

系統提示你輸入密碼。這是一個 全新 的密碼;而不是你賬戶的當前密碼。請輸入你想用來登錄 Samba 的密碼。

鍵入以下命令得到有 Samba 使用許可權的用戶列表:

pdbedit -L -v

鍵入以下命令刪除一個用戶:

smbpasswd -x <用戶名>

4、開啟 Samba

既然 Samba 是一個系統守護進程,你可以在 Fedora 上鍵入以下命令啟動它:

systemctl start smb

這將為當前會話開啟 Samba 服務。如果想讓它自啟動,鍵入以下命令:

systemctl enable smb

在某些系統上,Samba 守護進程註冊為 smbd

4、配置防火牆

你的防火牆會默認阻攔 Samba。通過配置防火牆允許 Samba 能永久訪問網路。

你可以在命令行執行如下操作:

firewall-cmd --add-service=samba --permanent

或者,你可以使用 firewall-config 工具以圖形化方式進行操作:

![firewall-config](/data/attachment/album/202205/02/233907adbagpspbvrkv2az.png "firewall-config tool")

5、從 Windows 訪問 Samba

在 Windows 中,打開文件資源管理器。在地址欄中,鍵入兩個反斜杠(\),緊跟你的 Linux 機器的地址(IP 地址或主機名):

![從 Windows 訪問 Linux](/data/attachment/album/202205/02/233907x04jd7i8v8tcuxkn.png "Accessing Linux machine from Windows")

系統將提示你輸入登錄信息。輸入第 3 步中的用戶名和密碼組合。你現在應該可以訪問 Linux 機器上的主目錄:

![從 Windows 訪問 Linux](/data/attachment/album/202205/02/233908sonkofsvzsqzvkeh.png "Accessing Linux machine from Windows")

從 Linux 訪問 Windows

以下步驟說明了如何從 Linux 訪問共享的 Windows 文件夾。要實現這一點,需要你的 Windows 用戶帳戶具有管理員許可權。

1、啟用文件共享

通過點擊 「Windows 按鈕」 > 「 設置 Settings 」 > 「 網路和 Internet Network & Internet 」 ,或者右鍵單擊任務欄右下角的小監視器圖標, 打開網路和共享中心 Open Network an d Sharing Center

![打開網路和共享中心](/data/attachment/album/202205/02/233908jd5syp3s24od8jsp.png "Open network and sharing center")

在打開的窗口中,找到你要使用的連接並記下其配置文件。我使用了 乙太網 3,它被標記為 公用網路 Public Network

注意:如果你的 PC 經常連接公用網路,請考慮將本地計算機的連接配置文件更改為 私有

記住你的網路配置,然後單擊 更改高級共享設置 Change advanced sharing settings

![更改高級共享設置](/data/attachment/album/202205/02/233909kece9tjceo9ctcs8.png "Change advanced sharing settings")

選擇與你的連接對應的配置文件並打開 網路發現 network discovery 文件和印表機共享 file and printer sharing

![網路共享設置](/data/attachment/album/202205/02/233909eg8q000o5yn6io58.png "Network sharing settings")

2、定義一個共享文件夾

通過右鍵單擊你要共享的文件夾打開上下文菜單,導航到 授予訪問許可權 Give access to ,然後選擇 特定用戶... Specific people...

![授予訪問許可權](/data/attachment/album/202205/02/233909nx9dldkjtktl5xzk.png "Give access")

檢查你當前的用戶名是否在列表中。點擊 共享 Share 將此文件夾標記為共享:

![標記為共享](/data/attachment/album/202205/02/233910wawhjxv727nvxvnr.png "Tag as shared")

你可以通過在文件資源管理器的地址欄中輸入 \localhost 來顯示所有共享文件夾的列表:

![共享文件夾](/data/attachment/album/202205/02/233910e9lzmi8pt9st9iyi.png "Shared folders")

![共享文件夾](/data/attachment/album/202205/02/233911isxutx5npu3nwn25.png "Shared folders")

3、在 Linux 下掛載共享文件夾

回到你的 Linux 系統,打開一個命令行,然後創建一個新文件夾,用於掛載 Windows 共享:

mkdir ~/WindowsShare

掛載 Windows 共享是使用 mount.cifs 完成的,它應該被默認安裝。使用如下命令臨時掛載你的共享文件夾:

sudo mount.cifs //<address-of-windows-pc>/MySharedFolder ~/WindowsShare/ -o user=<Windows-user>,uid=$UID

在這個命令里:

  • <address-of-windows-pc> 是 Windows PC 的地址信息(IP 或主機名)
  • <Windows-user> 是允許訪問共享文件夾的用戶(見步驟 2)

系統將提示你輸入 Windows 密碼。之後,你將能夠使用普通 Linux 用戶訪問 Windows 上的共享文件夾。

要卸載共享文件夾:

sudo umount ~/WindowsShare/

你還可以在系統啟動時掛載 Windows 共享文件夾。按照 這些步驟 相應地配置你的系統。

總結

在這裡展示了如何建立臨時的文件夾共享訪問許可權,每次重啟後都要重新設置,因此修改成永久訪問會更便利。我經常在不同的系統之間來回切換,對我而言設置直接文件訪問非常實用。

via: https://opensource.com/article/21/4/share-files-linux-windows

作者:Stephan Avenwedde 選題:lujun9972 譯者:hanszhao80 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國

    Linux中國

    DevOps 將去向何方?

    微軟、谷歌、亞馬遜、IBM 和甲骨文如今都在關注云上的 DevOps。這些大公司正在給企業提供 IT 自動化的服務。然而,DevOps 仍然在持續的演進中。DevSecOps、AIOps 和 NoOps 正在成為下一個流行詞。