1. 更新系统包列表
在安装任何软件前,建议先更新系统包列表以确保获取最新版本:
sudo apt update && sudo apt upgrade -y
2. 安装vsftpd(Very Secure FTP Daemon)
vsftpd是Debian系统下常用的安全FTP服务器软件,通过以下命令安装:
sudo apt install vsftpd -y
3. 配置vsftpd
安装完成后,需编辑vsftpd的主配置文件/etc/vsftpd.conf以调整安全及功能设置:
sudo nano /etc/vsftpd.conf
关键配置项说明(需根据需求调整):
anonymous_enable=NO(禁止匿名用户登录,避免未授权访问);local_enable=YES(允许本地系统用户登录);write_enable=YES(允许用户上传文件)。chroot_local_user=YES(将本地用户限制在其主目录中,防止访问系统其他目录);allow_writeable_chroot=YES(允许chroot目录可写,解决部分系统下用户无法上传文件的问题)。pasv_enable=YES(启用被动模式,解决主动模式下的防火墙连接问题);pasv_min_port=40000(设置被动模式最小端口);pasv_max_port=50000(设置被动模式最大端口,需与防火墙规则匹配)。Ctrl+X→Y→Enter保存并退出编辑器。4. 重启vsftpd服务
配置生效后,重启服务以应用更改:
sudo systemctl restart vsftpd
若需设置开机自启,可执行:
sudo systemctl enable vsftpd
5. 配置防火墙(若启用)
若系统启用了ufw防火墙,需允许FTP流量及被动模式端口范围:
sudo ufw allow 21/tcp # FTP控制端口(默认21)
sudo ufw allow 40000:50000/tcp # 被动模式端口范围(根据配置调整)
sudo ufw enable # 启用防火墙(若未启用)
6. 创建FTP用户及目录
创建专门用于FTP访问的系统用户,并设置其家目录权限:
sudo adduser ftpuser # 创建用户(按提示设置密码)
sudo mkdir -p /home/ftpuser/upload # 创建上传目录(可选)
sudo chown ftpuser:ftpuser /home/ftpuser/upload # 设置目录所有者
sudo chmod 755 /home/ftpuser # 设置家目录权限(755为常用权限)
7. 测试FTP连接
使用FTP客户端(如FileZilla)或命令行工具测试连接:
ftp localhost
输入创建的FTP用户名(如ftpuser)和密码,若能成功登录则表示配置正确。8. 可选:配置SSL/TLS加密(提升安全性)
为避免FTP数据明文传输,建议配置SSL/TLS加密:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
/etc/vsftpd.conf中添加以下内容:ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
sudo systemctl restart vsftpd
此时,FTP连接将通过SSL/TLS加密,提升数据传输安全性。