在 Linux 上建置 SMB Server,對企業來說是一個相當聰明的選擇。這是一種成本效益極高的方式,可以在內部網路中輕鬆共享檔案。Linux 以穩定性著稱,約有 40% 的中小企業伺服器都是運行在 Linux 上。相較於其他系統,Linux 最多可協助企業節省約 30% 的 IT 資源成本,是一個可靠且實用的選項。
什麼是 SMB Server?為什麼要在 Linux 上使用?
SMB 是 Server Message Block 的縮寫,是一種用於在網路中共享檔案與印表機的通訊協定。雖然 SMB 最早主要應用在 Windows 環境中,但透過 Samba,Linux 也能完整支援 SMB Server。
這讓 Linux 成為同時混合 Windows 與 Linux 環境的理想選擇,特別適合企業內部存在多種作業系統的使用情境。
在 Debian 上安裝 Samba
首先,請先確認系統套件為最新版本,執行以下指令: `sudo apt update && sudo apt upgrade`.

更新系統套件後,使用以下指令安裝 Samba:`sudo apt install samba`。當 Samba 安裝完成後,就可以開始進行後續設定。

設定 Samba
Samba 的主要設定檔位於: “/etc/samba/smb.conf”。你可以使用偏好的文字編輯器開啟該檔案,例如:`sudo nano /etc/samba/smb.conf`.

在檔案最底部加入以下設定,建立一個基本的共享資料夾:

“`[global]
workgroup = WORKGROUP
security = user
map to guest = bad user
[SharedFiles]
path = /srv/samba/shared
browseable = yes
read only = no
guest ok = yes“
“`
上述設定說明如下:
- workgroup:設定工作群組名稱(預設為 WORKGROUP)
- security = user:啟用使用者驗證機制
- map to guest = bad user:將未知使用者對應為訪客帳號
- [SharedFiles]:定義共享資料夾名稱
- path:指定要分享的資料夾路徑
- browseable = yes:允許在網路上被瀏覽
- read only = no:允許寫入資料
- guest ok = yes:允許訪客不需驗證即可存取
建立共享資料夾
使用以下指令建立共享目錄: `sudo mkdir -p /srv/samba/shared`.

接著調整權限:`sudo chown nobody:nogroup /srv/samba/shared` and `sudo chmod 777 /srv/samba/shared`。這會建立 “/srv/samba/shared” 資料夾,並設定為所有使用者(包含訪客)皆可讀寫。

啟動並設定 Samba 服務自動啟用
完成設定後,啟動 Samba 與 NetBIOS 服務: `sudo systemctl start smbd nmbd`.

若希望系統開機時自動啟動服務,請執行:`sudo systemctl enable smbd nmbd`.

新增 Samba 使用者
若希望限制只有特定使用者才能存取共享資料夾,可以建立 Samba 使用者: `sudo smbpasswd -a username` 。請將 username 替換為實際的使用者名稱,系統會要求你設定密碼,該密碼將用於存取 SMB Share 時的驗證。

從 Windows 存取 SMB Server
在 Windows 電腦上操作如下:
- 開啟「檔案總管(File Explorer)」
- 在位址列輸入: \\<IP_address> (replace <IP_address> )。For 例如: \\192.168.1.100.
- 你會看到名為 SharedFiles 的共享資料夾,若系統要求登入,請輸入先前建立的 Samba 使用者帳號與密碼。
從 Linux 存取 SMB Server
在另一台 Linux 主機上,可使用 smbclient 工具。若尚未安裝,請先執行:`sudo apt install smbclient`.

接著使用以下指令連線: `smbclient //192.168.1.100/SharedFiles -U username`

上傳檔案: `put filename`

下載檔案: `get filename`

強化 SMB Server 的安全性
若要提升安全性,建議關閉訪客存取,將設定改為: guest ok = no 。

你也可以指定僅允許特定使用者存取:valid users = username。

修改完成後,請重新啟動服務: `sudo systemctl restart smbd nmbd`

問題排查與故障排除
- 防火牆設定:請確認已開放 137、138、139、445 連接埠
- 服務狀態: systemctl status smbd nmbd.

- 檢查 Log: /var/log/samba/.

總結:如何建立安全且可管理的 GCP IAM 架構
在 Debian 上透過 Samba 架設 SMB Server 相當容易,且能在 Windows 與 Linux 之間順利共享檔案。本指南已帶你完成一套可實際運作的 SMB Server 設定流程,無論是家庭使用或中小企業環境都非常合適。
如同許多企業在導入雲端與混合式架構時的實務經驗,勤英科技也經常協助客戶將內部檔案服務與雲端架構整合,確保效能、資安與成本三者平衡。
勤英科技 是 AWS 官方授權的雲端代理商 ,專注於協助企業導入 AWS、優化帳務流程並加速雲端部署。我們可協助企業使用新台幣付款、開立台灣發票,並享有專屬優惠與技術支援。無論你是第一次上雲,或正在升級既有架構,勤英科技都能提供一對一的專業顧問服務。
常見問題(FAQ)
什麼是 SMB?為什麼要在 Linux 上使用 SMB?
SMB(Server Message Block)是由 Microsoft 推出的網路通訊協定,主要用於在網路中共享檔案與印表機。
在 Linux 環境中,透過開源軟體 Samba,即可完整支援 SMB,讓 Linux 伺服器能與 Windows 網路環境無縫整合,非常適合混合式作業系統的企業內部網路。
在 Linux 上架設 SMB Server 有哪些優點?
在 Linux 上架設 SMB Server 具有高度的成本效益,因為 Linux 本身是開源系統,不需額外授權費用。
同時,Linux 的彈性高、可高度客製化,且在資安穩定性上通常優於 Windows,非常適合中小企業或需要長時間穩定運作的檔案共享環境。
Linux 架設的 SMB Server 常見應用情境有哪些?
以 Linux 架設的 SMB Server,最常見的用途包含:
1. Windows 與 Linux 混合環境的檔案共享
2. 中小企業的集中式檔案儲存
3. 內部文件管理或共用資料夾
4. 列印伺服器(Print Server)整合
對於不想投入高額授權成本、但又需要穩定共享服務的企業來說,是非常實用的解決方案。
該如何為 Linux 發行版選擇合適的 Samba 版本?
選擇 Samba 版本時,建議依照你的 Linux 發行版與實際使用需求來評估。
較新的 Samba 版本通常提供更多功能與較佳的資安修補,但在某些舊系統或舊版 Windows 客戶端環境中,可能會有相容性問題。因此,在升級前建議先確認系統與客戶端的支援狀況。

