以下是Debian系统vsftpd故障的排查步骤:
检查服务状态
sudo systemctl status vsftpd 查看服务是否运行,是否有错误提示。
查看日志文件
sudo tail -n 50 /var/log/vsftpd.log sudo journalctl -xe 分析日志中的错误信息,定位问题根源。
检查配置文件
sudo vsftpd -t listen=YES(启用监听)local_enable=YES(允许本地用户登录)write_enable=YES(允许上传)chroot_local_user=YES(限制用户主目录,需确保目录权限正确)sudo chown root:root /etc/vsftpd.conf sudo chmod 644 /etc/vsftpd.conf 排查权限问题
/home/ftpuser):sudo chown -R ftpuser:ftpuser /path/to/ftp/directory sudo chmod -R 755 /path/to/ftp/directory sudo setsebool ftpd_disable_trans 1 sudo setsebool ftp_home_dir 1 检查防火墙设置
确保开放FTP端口(默认21)及被动模式端口范围:
sudo ufw allow 21/tcp sudo ufw allow [start-port]-[end-port]/tcp # 被动模式需额外端口 处理端口冲突
检查端口21是否被占用:
sudo netstat -tuln | grep :21 若冲突,修改/etc/vsftpd.conf中的listen_port并重启服务。
验证软件包和依赖
更新软件源并重新安装vsftpd:
sudo apt-get update sudo apt-get install --reinstall vsftpd 调试模式(可选)
在配置文件中启用调试选项,重启后查看详细日志:
xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES 常见错误示例:
chown和chmod修正。/etc/vsftpd.conf中的userlist_enable及用户是否在允许列表中。write_enable=YES并确保目录权限为755或775。若问题仍未解决,可参考vsftpd官方文档或在社区论坛提供具体错误日志进一步排查。