以下是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)连接服务器,输入用户名和密码即可测试登录。
说明:脚本可根据实际需求调整配置参数(如用户权限、端口范围等),生产环境中建议进一步限制用户权限并启用日志记录。