16. 在 Ubuntu Server 上架設檔案共用服務:完整指南

在 Ubuntu Server 上架設檔案共用服務是現代 IT 環境中的一項基本任務,它能夠實現跨裝置、作業系統和使用者之間的無縫協作和高效資料交換。無論您是在包含 Linux、Windows 和 macOS 系統的混合環境中工作,還是在支援需要集中存取共用資源的團隊,Ubuntu Server 都提供了強大的工具來滿足您的檔案共用需求。

在本指南中,我們將帶您逐步完成在 Ubuntu Server 上架設三種流行的檔案共用服務——FTP、Samba 和 NFS——的過程。這些服務旨在促進安全可靠的檔案共用,確保跨不同平台和環境的相容性。


往期文章:

01. Ubuntu Server 簡介 – SysOSX: AI & Cloud

02. 如何架設您的第一台 Ubuntu Server:初學者指南 – SysOSX: AI & Cloud

03. 掌握 Ubuntu Server 的 Linux 命令列 – SysOSX: AI & Cloud

04. 管理 Ubuntu Server 上的使用者和權限:完整指南 – SysOSX: AI & Cloud

05. Ubuntu Server 網路基礎:完整指南 – SysOSX: AI & Cloud

06. 在 Ubuntu Server 上安裝和管理軟體:完整指南 – SysOSX: AI & Cloud

07.Ubuntu Server 修補與更新:完整指南 – SysOSX: AI & Cloud

08. 保護您的 Ubuntu Server:強化與防護的實用步驟 – SysOSX: AI & Cloud

09. Ubuntu 伺服器稽核與記錄

10. Ubuntu Server 系統監控工具:完整指南 – SysOSX: AI & Cloud

11. Ubuntu 伺服器集中式記錄:必讀指南 – SysOSX: AI & Cloud

12. Ubuntu Server 稽核與合規:最佳實務 – SysOSX: AI & Cloud

13. 為託管和 Web 應用程式架設您的 Ubuntu Server:終極指南 – SysOSX: AI & Cloud

14. 在一台 Ubuntu Server 上託管多個網站:實用技巧 – SysOSX: AI & Cloud

15. 管理 Ubuntu Server 上的儲存空間和磁碟:簡單指南 – SysOSX: AI & Cloud



檔案共用服務簡介

檔案共用服務允許裝置透過網路交換資料。Ubuntu Server 支援多種檔案共用通訊協定,包括:

  • FTP(檔案傳輸協定):非常適合透過網路在裝置之間傳輸檔案。
  • Samba:使用 SMB/CIFS 通訊協定實現 Linux 和 Windows 系統之間的檔案共用。
  • NFS(網路檔案系統):專為在基於 Unix 的系統(包括 Linux 和 macOS)之間共用檔案而設計。

每種通訊協定都有其優勢,選擇取決於您的具體使用情境。下面,我們將帶您逐步完成每種服務的架設過程。


FTP、Samba 和 NFS 的使用情境

了解每種檔案共用通訊協定的使用案例有助於您為自己的環境選擇合適的通訊協定:

FTP 使用案例

FTP 最適合需要在裝置之間透過網路傳輸檔案的環境,例如:

  • 託管網站,客戶將檔案上傳到 Web 伺服器。
  • 與不需要持續存取共用目錄的外部使用者共用檔案。
  • 使用指令碼或 cron 工作自動執行檔案上傳/下載。

Samba 使用案例

Samba 非常適合包含 Linux 和 Windows 系統的混合環境。常見情境包括:

  • 在企業網路中於 Linux 伺服器和 Windows 桌上型電腦之間共用檔案。
  • 為不同作業系統上的使用者之間的協作提供共用資料夾。
  • 允許 Windows 使用者無縫存取基於 Linux 的檔案伺服器。

NFS 使用案例

NFS 專為基於 Unix 的系統(如 Linux 和 macOS)量身打造。它在下列情境中表現出色:

  • 在資料中心或雲端環境中的 Linux 伺服器之間共用檔案。
  • 出於開發目的在 macOS 系統上掛載目錄。
  • 為在 Linux 上執行的應用程式提供持久的高效能共用儲存空間。

架設 FTP

FTP 是一種廣泛使用的通訊協定,用於在裝置之間傳輸檔案。要在 Ubuntu 上架設 FTP 伺服器:

步驟 1:安裝 vsftpd

執行下列命令安裝vsftpd套件:

sudo apt update
sudo apt install vsftpd

步驟 2:設定 vsftpd

編輯設定檔:

sudo nano /etc/vsftpd.conf

進行下列變更:

  • 啟用匿名存取(可選):anonymous_enable=NO
  • 允許本機使用者:local_enable=YES write_enable=YES
  • 將使用者限制在其主目錄中:chroot_local_user=YES
  • 使主目錄不可寫入
sudo chmod a-w /home/yourusername

儲存並關閉檔案,然後重新啟動 FTP 服務:

sudo systemctl restart vsftpd

步驟 3:測試 FTP 伺服器

使用 FTP 用戶端(例如 FileZilla)或命令列連線到您的伺服器:

ftp <server-ip>

輸出:

PS C:\> ftp 10.0.0.13
Connected to 10.0.0.13.
220 (vsFTPd 3.0.5)
200 Always in UTF8 mode.
User (10.0.0.13:(none)): uadmin
331 Please specify the password.
Password:

230 Login successful.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
uploads
226 Directory send OK.
ftp: 12 bytes received in 0.00Seconds 12000.00Kbytes/sec.
ftp> put test.txt
200 PORT command successful. Consider using PASV.
553 Could not create file.
ftp> cd uploads
250 Directory successfully changed.
ftp> pwd
257 "/uploads" is the current directory
ftp> put test.txt
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
test.txt
226 Directory send OK.
ftp: 13 bytes received in 0.00Seconds 13000.00Kbytes/sec.
ftp>

為 Windows 和 Linux 設定 Samba

Samba 非常適合在 Linux 和 Windows 系統之間共用檔案。請依照下列步驟架設 Samba:

步驟 1:安裝 Samba

執行下列命令:

sudo apt update
sudo apt install samba

步驟 2:設定 Samba

編輯 Samba 設定檔:

sudo nano /etc/samba/smb.conf

新增下列區段以共用目錄:

[SharedFolder]
path = /path/to/shared/folder
read only = no
browsable = yes
guest ok = yes
force user = nobody


步驟 3:設定權限

確保共用資料夾具有適當的權限:

sudo chmod -R 0777 /path/to/shared/folder
sudo chown -R nobody:nogroup /path/to/shared/folder

重新啟動 Samba 服務:

sudo systemctl restart smbd

步驟 4:存取 Samba 共用

  • Windows:開啟檔案總管並輸入伺服器的 IP 位址(例如,\\<server-ip>).
  • Linux:使用smbclient命令,或使用下列方式掛載共用:cifs.
在 SMB.config 中設定共用資料夾

透過下列方式設定 SMB 使用者名稱和密碼:

sudo smbpasswd -a username

架設好 Samba 伺服器、新增 SMB 使用者名稱和密碼並共用 /www/var 後,嘗試從 Windows 電腦存取。


為 Linux 和 macOS 架設 NFS

NFS 是一種強大的通訊協定,用於在基於 Unix 的系統之間共用檔案。以下是架設 NFS 的方法:

步驟 1:安裝 NFS 伺服器

執行下列命令:

sudo apt update
sudo apt install nfs-kernel-server

步驟 2:設定 NFS 匯出

編輯 NFS 匯出檔案:

sudo nano /etc/exports

新增您想要共用的目錄,並指定用戶端 IP 或網路:

/path/to/shared/folder <client-ip>(rw,sync,no_subtree_check)

然後使用下列命令驗證匯出:

exportfs -v

步驟 3:套用變更

重新啟動 NFS 服務:

sudo systemctl restart nfs-kernel-server

步驟 4:掛載 NFS 共用

在用戶端電腦上,使用下列命令掛載 NFS 共用:

sudo mount <server-ip>:/path/to/shared/folder /mount/point

在用戶端,使用命令列安裝 NFS 用戶端:

sudo apt install nfs-common

#Check if the NFS server is listening on the required ports:
sudo showmount -e nfs-server-ip


排解常見問題

檔案共用服務可能會因設定錯誤或網路設定而出現問題。以下是一些常見問題及解決方案:

防火牆設定

確保必要的連接埠已開啟:

  • FTP:連接埠 21
  • Samba:連接埠 137-139 和 445
  • NFS:連接埠 2049 及其他連接埠(詳情請查看/etc/services)

使用ufw允許這些連接埠:

sudo ufw allow <port-number>

權限錯誤

驗證共用資料夾的目錄權限和擁有權。

連線問題

檢查網路設定,並確保伺服器和用戶端位於同一子網路。


其他資源

如需進一步閱讀,請查閱每項服務的官方文件:

下一章:進階主題

在下一章中,我們將深入探討進階主題,以進一步提升您的伺服器管理技能。第一個主題將聚焦於在 Ubuntu 上架設安全的資料庫伺服器,您將在其中學習如何在 Ubuntu 伺服器上安裝和設定 MySQL 或 MariaDB 等資料庫。敬請期待!

3 thoughts on “16. Setting Up File Sharing Services on Ubuntu Server: a complete guide”

發表留言