温馨提示×

linux ftpserver为何报错

小樊
42
2026-09-08 06:17:18
栏目: 智能运维

“Linux FTP Server 报错”原因很多,需要先看具体报错信息使用的 FTP 服务软件。下面我按常见情况给你分类说明,你可以对照看看是哪一种。


一、常见 FTP Server 类型

Linux 常见 FTP 服务有:

  • vsftpd(最常用)
  • proftpd
  • pure-ftpd

不同软件报错不同,下面以 vsftpd 为主说明。


二、常见报错及原因

1️⃣ 530 Login incorrect

原因:

  • 用户名或密码错误
  • 用户被禁止登录(如 /sbin/nologin
  • PAM 限制

排查:

grep ftp /etc/passwd

确保用户 shell 允许登录,或:

usermod -s /bin/bash ftpuser

2️⃣ 500 OOPS: cannot change directory

原因:

  • 用户主目录不存在
  • 权限不足
  • SELinux 限制

解决:

chmod 755 /home/ftpuser
chown ftpuser:ftpuser /home/ftpuser

SELinux:

setsebool -P ftp_home_dir on

3️⃣ 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

原因:

  • chroot 目录可写(vsftpd 安全限制)

解决:

chmod a-w /home/ftpuser
mkdir /home/ftpuser/upload
chown ftpuser:ftpuser /home/ftpuser/upload

或配置:

allow_writeable_chroot=YES

4️⃣ 425 Failed to establish connection

原因:

  • 被动模式(PASV)端口未开放
  • 防火墙未放行

解决:

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

防火墙:

firewall-cmd --add-port=30000-31000/tcp --permanent
firewall-cmd --reload

5️⃣ 530 Permission denied

原因:

  • 配置中禁止该用户
  • userlist / ftpusers 限制

检查:

cat /etc/vsftpd/ftpusers
cat /etc/vsftpd/user_list

6️⃣ Connection refused

原因:

  • FTP 服务未启动
  • 端口被防火墙拦截

检查:

systemctl status vsftpd
netstat -tunlp | grep 21

三、建议你提供的信息

如果你愿意,我可以更精确帮你分析,请提供:

  1. 使用的 FTP 软件(vsftpd?)
  2. 完整报错内容
  3. 客户端连接方式(主动/被动)
  4. 是否开启 SELinux / 防火墙

你可以直接把报错截图或文字发给我。

0