以下是Debian上自動化部署vsftpd的方法,核心是通過腳本實現安裝、配置及服務管理:
將以下內容保存為install_vsftpd.sh,賦予執行權限后運行:
#!/bin/bash
# 更新包列表
sudo apt-get update
# 安裝vsftpd
sudo apt-get install -y vsftpd
# 備份配置文件
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
# 生成配置文件(按需修改參數)
cat <<EOF | sudo tee /etc/vsftpd.conf
local_enable=YES
write_enable=YES
chroot_local_user=YES
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=1048
anonymous_enable=NO
EOF
# 創建FTP用戶及目錄(示例)
sudo useradd -m ftpuser -s /bin/bash
sudo passwd ftpuser
sudo mkdir -p /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp
sudo chmod 755 /home/ftpuser/ftp
# 重啟服務并設置開機自啟
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
echo "vsftpd部署完成!"
執行命令:
chmod +x install_vsftpd.sh
sudo ./install_vsftpd.sh
useradd創建用戶,passwd設置密碼,chroot_local_user=YES限制用戶僅能訪問家目錄。pasv_min_port和pasv_max_port,需在防火墻中放行該端口范圍。若使用ufw,需添加規則允許FTP流量:
sudo ufw allow 20/tcp # 主動模式數據端口
sudo ufw allow 21/tcp # 控制端口
sudo ufw allow 1024:1048/tcp # 被動模式端口范圍(需與配置文件一致)
sudo ufw reload
使用FTP客戶端(如FileZilla)連接服務器,輸入用戶名和密碼即可測試登錄。
說明:腳本可根據實際需求調整配置參數(如用戶權限、端口范圍等),生產環境中建議進一步限制用戶權限并啟用日志記錄。