FTP(文件傳輸協議)是伺服器與客戶端間傳輸文件的標準協議。本文以 Ubuntu 為例,演示如何使用 vsftpd(Very Secure FTP Daemon)快速部署一個安全、高效的 FTP 服務,並介紹基本的服務管理與客戶端連接驗證。
sudo apt-get update
sudo apt-get install vsftpd
安裝完成後,服務會自動啟動並加入開機自啟。
# 創建專用目錄(建議非系統盤)
sudo mkdir -p /home/ftp
# 創建專用用戶,禁止 Shell 登錄
sudo useradd -d /home/ftp -s /usr/sbin/nologin ftpuser
sudo passwd ftpuser
# 授權目錄所有權
sudo chown -R ftpuser:ftpuser /home/ftp
/etc/vsftpd.conf備份原配置後,編輯關鍵參數:
# 基礎設置
listen=YES
anonymous_enable=NO # 禁用匿名登錄
local_enable=YES # 允許本地用戶
write_enable=YES # 允許寫入
local_umask=022 # 默認權限掩碼
chroot_local_user=YES # 限制用戶在主目錄
allow_writeable_chroot=YES # 允許主目錄可寫(需 vsftpd 3.0+)
# 被動模式端口範圍(防火牆需放行)
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40100
# 日誌
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
log_ftp_protocol=YES
修改後重啟服務:sudo systemctl restart vsftpd
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:40100/tcp
sudo ufw reload
ftp://ftpuser@服務器IP,輸入密碼即可瀏覽/下載。ftp 服務器IP → 輸入用戶名/密碼 → ls、put、get 測試。sudo systemctl start vsftpd # 啟動
sudo systemctl stop vsftpd # 停止
sudo systemctl restart vsftpd # 重啟
sudo systemctl status vsftpd # 狀態
sudo systemctl enable vsftpd # 開機自啟
ssl_enable=YES + 憑證);local_max_rate);tcp_wrappers 或 iptables 白名單)。小結:vsftpd 輕量、安全、配置簡單,適合中小型項目快速落地。生產環境建議啟用 TLS 加密、虛擬用戶隔離、日誌審計與定期備份配置文件。