温馨提示×

debian ftpserver如何排错

小樊
44
2026-10-03 20:27:01
栏目: 智能运维

在 Debian 上排错 FTP Server(常见如 vsftpd、proftpd、pure-ftpd),可以按下面思路系统排查。


一、先确认 FTP 服务是否安装并运行

1. 查看是否安装

dpkg -l | grep -E "vsftpd|proftpd|pure-ftpd"

2. 查看服务状态

systemctl status vsftpd
# 或
systemctl status proftpd

如果没运行:

systemctl start vsftpd
systemctl enable vsftpd

二、检查配置文件(以 vsftpd 为例)

常见配置文件

/etc/vsftpd.conf

排错常用参数

listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES

修改后重启:

systemctl restart vsftpd

三、查看日志(最重要)

vsftpd 日志

tail -f /var/log/vsftpd.log
# 或
journalctl -u vsftpd -f

系统认证日志

tail -f /var/log/auth.log

常见错误:

  • 530 Login incorrect → 用户名/密码或 PAM 问题
  • 500 OOPS: chroot → 目录权限问题
  • Permission denied → 文件系统权限

四、防火墙与端口问题

1. 防火墙

ufw status

开放 FTP:

ufw allow 20/tcp
ufw allow 21/tcp

如果是 被动模式(PASV),还需开放被动端口范围(vsftpd 示例):

pasv_min_port=30000
pasv_max_port=31000
ufw allow 30000:31000/tcp

五、云服务器 / NAT 环境常见问题

被动模式必须配置

pasv_address=公网IP

否则客户端会卡在:

读取目录失败 / 连接超时


六、用户与权限问题

1. 用户是否存在

id ftpuser

2. 家目录权限(chroot 场景)

chmod 755 /home/ftpuser

⚠️ chroot 目录下 不能可写(vsftpd 安全要求)


七、SELinux(Debian 默认无,但容器/定制系统注意)

Debian 通常不用 SELinux,如果是特殊情况:

getenforce

八、快速测试 FTP

本地测试

ftp localhost

被动模式测试

ftp -p localhost

九、常见错误速查表

现象 原因
530 Login incorrect 用户/PAM/密码
500 OOPS chroot 目录权限
连接超时 防火墙/PASV
能登录不能列目录 被动端口
上传失败 write_enable

如果你能告诉我:

  • 用的 哪种 FTP 服务
  • 报错 具体信息
  • 是 本地 / 云服务器

我可以给你更精准的排错步骤。

0 踩