vsftpd 在 Debian 上的高效排障清单
一 快速定位流程
二 常见错误与修复对照表
| 症状 | 高频原因 | 快速修复 |
|---|---|---|
| 连接超时/被拒绝 | 服务未启动、端口未放行、IPv6 监听冲突 | sudo systemctl start vsftpd;sudo ufw allow 21/tcp;必要时设 listen_ipv6=NO |
| 220 后立刻断开 | PAM 配置异常、用户被拒绝列表拦截 | 检查 /etc/pam.d/vsftpd;确认用户不在 /etc/vsftpd/ftpusers;必要时调整 userlist_enable/userlist_deny |
| 530 Login incorrect | 密码错误、PAM、ftpusers 拦截、根目录不可访问 | 核对凭据与 PAM;检查 /etc/vsftpd/ftpusers;确保家目录权限与属主正确 |
| 500 OOPS: cannot open xferlog log file | 日志目录/文件不可写 | 创建目录并赋权:sudo mkdir -p /var/log/vsftpd && sudo chown vsftpd:vsftpd /var/log/vsftpd && sudo chmod 755 /var/log/vsftpd |
| 500 OOPS: config file not owned by correct user | 配置文件属主/权限不当 | sudo chown root:root /etc/vsftpd.conf && sudo chmod 644 /etc/vsftpd.conf |
| 553 Could not create file | 目标目录不可写、磁盘满、配额限制 | 校正目录属主与权限(见下文“权限与属主”);检查 df -h 与配额 |
| 500 OOPS: vsftpd: refusing to run with writable anonymous root | 匿名根目录可写 | 将匿名根目录权限设为 755(如 /var/ftp) |
| 登录缓慢 | 反向解析导致延迟 | 在 vsftpd.conf 加入 reverse_lookup_enable=NO |
| 被动模式数据连接失败 | 未放行 PASV 端口段 | 配置 pasv_enable=YES; pasv_min_port=10000; pasv_max_port=10010 并放行对应端口段 |
三 配置与权限要点
四 防火墙与被动模式配置
五 日志分析与最小化验证