在 Debian 上使用 vsftpd 搭建 FTP 文件共享
一 安装与基础配置
sudo apt update && sudo apt install vsftpd -ysudo cp /etc/vsftpd.conf /etc/vsftpd.conf.baksudo nano /etc/vsftpd.conflocal_enable=YES、write_enable=YESanonymous_enable=NOchroot_local_user=YESallow_writeable_chroot=YESlisten=YES、listen_ipv6=NOsudo systemctl start vsftpd && sudo systemctl enable vsftpdsudo systemctl status vsftpd二 用户与共享目录
sudo adduser ftpusersudo usermod -d /home/ftpuser -s /sbin/nologin ftpusersudo mkdir -p /srv/ftp/sharesudo chown ftpuser:ftpuser /srv/ftp/share && sudo chmod 755 /srv/ftp/share三 防火墙与被动模式
sudo ufw allow 21/tcpsudo ufw allow 40000:50000/tcpsudo ufw allow 990/tcpsudo ufw enable 或 sudo ufw reloadpasv_enable=YES、pasv_min_port=40000、pasv_max_port=50000sudo systemctl restart vsftpd四 加密传输与客户端连接
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pemssl_enable=YESrsa_cert_file=/etc/ssl/private/vsftpd.pemrsa_private_key_file=/etc/ssl/private/vsftpd.pemforce_local_data_ssl=YESforce_local_logins_ssl=YESssl_tlsv1=YES、ssl_sslv2=NO、ssl_sslv3=NO、ssl_ciphers=HIGHrequire_ssl_reuse=NOsudo systemctl restart vsftpdftp/lftp五 常见问题与排查
/srv/ftp/share 对 ftpuser 可读写)chroot_local_user=YES,确保开启 allow_writeable_chroot=YES 或使用不可写 chroot + 子目录可写pasv_min_port/pasv_max_port 与防火墙放行范围一致local_enable=YES、anonymous_enable=NO 设置符合预期/sbin/nologin(若使用 nologin,确保 PAM/服务允许 FTP 登录)sudo systemctl status vsftpdsudo tail -f /var/log/vsftpd.log,根据报错调整配置与权限