如何提高Ubuntu上vsftpd的稳定性
/etc/vsftpd.conf中设置:anonymous_enable=NO。chroot将用户锁定在主目录,防止越权访问系统文件。配置chroot_local_user=YES(锁定所有本地用户),若需允许用户写入,需添加allow_writeable_chroot=YES(解决chroot目录不可写问题)。ssl_enable=YES,指定证书和私钥路径(如rsa_cert_file=/etc/ssl/private/vsftpd.pem、rsa_private_key_file=/etc/ssl/private/vsftpd.key),并强制本地数据与登录使用SSL:force_local_data_ssl=YES、force_local_logins_ssl=YES。max_clients=100(最大总连接数)、max_per_ip=5(单个IP最大连接数),防止恶意用户占用大量资源。/etc/default/grub,在GRUB_CMDLINE_LINUX_DEFAULT行添加acpi=force或apm=power_off,运行sudo update-grub并重启服务器。GRUB_CMDLINE_LINUX_DEFAULT行添加amd_pstate=disable(AMD处理器)或intel_pstate=disable(Intel处理器),更新GRUB并重启。/etc/sysctl.conf,添加:net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_congestion_control = cubic
运行sudo sysctl -p使配置生效。ufw配置:sudo ufw allow 20/tcp # 数据传输(主动模式)
sudo ufw allow 21/tcp # 控制连接
sudo ufw allow 40000:50000/tcp # 被动模式端口范围
sudo ufw enable # 启用防火墙
```。
pasv_enable=YES,设置端口范围:pasv_min_port=40000、pasv_max_port=50000(需与防火墙规则一致)。xferlog_enable=YES(启用传输日志)、connect_from_port_20=YES(记录控制连接端口)、xferlog_std_format=YES(使用标准日志格式),日志文件默认位于/var/log/vsftpd.log。tail -f /var/log/vsftpd.log实时监控日志,关注“530 Login incorrect”(认证失败)、“425 Cannot open data connection”(被动模式端口问题)等常见错误,及时调整配置。sudo apt update && sudo apt upgrade,更新vsftpd及依赖库,修复已知漏洞,提升稳定性。/etc/vsftpd.conf(如sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.backup),避免配置错误导致服务无法启动。top、htop或iotop监控CPU、内存和磁盘使用情况,若资源占用过高(如CPU持续超过80%),需优化配置(如减少max_clients)或升级硬件。