sudo systemctl status vsftpd
,未运行则启动:sudo systemctl start vsftpd
,并设置开机自启:sudo systemctl enable vsftpd
。/etc/vsftpd.conf
关键参数正确:
listen=YES
(启用监听)。anonymous_enable=NO
(禁止匿名登录,如需启用需配置权限)。local_enable=YES
(允许本地用户登录)。write_enable=YES
(允许上传/删除文件)。sudo systemctl restart vsftpd
。sudo ufw allow 21/tcp
。sudo ufw allow 40000:50000/tcp
。sudo netstat -tulnp | grep vsftpd
,确认21端口在监听。cat /etc/passwd | grep ftpuser
。anonymous_enable=NO
,且匿名用户目录权限正确(如需启用则设置为 755
)。sudo chown -R ftpuser:ftpuser /home/ftpuser
(修改所有者)。sudo chmod -R 755 /home/ftpuser
(设置目录权限,文件可设为644)。chroot
,确保用户主目录权限为 755
且属主为 root
。pasv_min_port=40000
,pasv_max_port=50000
,并确保防火墙开放这些端口。pasv_address=服务器公网IP
。sudo setenforce 0
,若问题解决则需调整策略允许FTP访问。complain
模式:sudo aa-complain /etc/apparmor.d/usr.sbin.vsftpd
。sudo tail -f /var/log/vsftpd.log
或 journalctl -u vsftpd
,定位具体错误(如“500 OOPS”等)。max_client_size
或 local_max_rate
参数(单位为字节),调整后重启服务。ssl_enable=YES
。提示:修改配置前建议备份文件(如 sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
),操作后重启服务验证效果。若问题仍未解决,可参考vsftpd官方文档或社区论坛进一步排查。