温馨提示×

为什么linux ftpserver配置失败

小樊
39
2026-09-05 08:02:01
栏目: 智能运维

Linux 下 FTP Server 配置失败的原因有很多,通常并不是“一个原因”,而是配置、权限、防火墙、SELinux、服务本身等因素叠加。下面我按最常见原因 → 排查思路给你梳理一下,你可以对照看是哪一类。


一、最常见的 6 类失败原因

1️⃣ 服务根本没启动

systemctl status vsftpd

常见表现:

  • 连接被拒绝(Connection refused)
  • telnet ip 21 不通

解决:

systemctl start vsftpd
systemctl enable vsftpd

2️⃣ 防火墙没放行 FTP

FTP 用 21 端口(控制)+ 动态端口(数据)

# firewalld
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload

# 或 iptables
iptables -A INPUT -p tcp --dport 21 -j ACCEPT

⚠️ 被动模式(PASV)还需要放行被动端口范围。


3️⃣ SELinux 拦截(非常常见)

即使配置对了,SELinux 也会直接拒绝。

检查:

getenforce

临时关闭测试:

setenforce 0

长期解决:

setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on

4️⃣ 用户 / 目录权限问题

FTP 登录失败、上传失败,多半是权限。

示例:

  • 用户家目录不能被其他用户写(/home/user 权限 755)
  • vsftpd 禁止某些用户登录

检查:

ls -ld /home/ftpuser

vsftpd 限制:

userlist_enable=YES
userlist_deny=NO

5️⃣ 被动模式(PASV)配置错误

很多客户端卡在“列出目录失败”。

vsftpd 示例:

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

防火墙也要开:

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

6️⃣ 配置文件写错

常见错误:

  • 配置项拼写错误
  • 混用匿名和用户模式
  • 没重启服务

检查语法:

vsftpd /etc/vsftpd/vsftpd.conf

二、快速自检清单 ✅

你可以按顺序确认:

  1. vsftpd 是否安装并运行
  2. ✅ 21 端口是否监听
  3. ✅ 防火墙是否放行
  4. ✅ SELinux 是否阻止
  5. ✅ 用户是否允许登录
  6. ✅ 被动端口是否配置

三、如果你愿意,我可以更精准帮你

你可以直接贴出:

  • 使用的 FTP 软件(vsftpd / proftpd / pure-ftpd)
  • 报错信息(客户端 + 服务端日志)
  • /etc/vsftpd/vsftpd.conf 关键配置

我可以逐行帮你找问题

0