温馨提示×

linux ftpserver配置出错咋办

小樊
52
2026-09-23 12:33:31
栏目: 智能运维

Linux 下配置 FTP 服务器(常见为 vsftpd,也有 proftpd、pure-ftpd)出错时,可以按下面思路一步步排查。


一、先确认你用的是哪种 FTP 服务

ps -ef | grep ftp
# 或
systemctl list-units | grep ftp

常见服务名:

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

下面以 vsftpd 为主说明。


二、最常见错误 & 解决办法

1️⃣ 服务起不来

systemctl start vsftpd

报错或失败:

查看详细错误

systemctl status vsftpd -l
journalctl -xe

常见原因

  • 端口被占用(21)
netstat -tunlp | grep 21
  • 配置文件语法错误
vsftpd /etc/vsftpd/vsftpd.conf

(直接前台运行能看到具体错误行)


2️⃣ 用户无法登录

现象:530 Login incorrect

✅ 检查:

  • 用户是否存在
id ftpuser
  • 是否禁止系统用户登录
local_enable=YES
  • 是否限制了用户列表
userlist_enable=YES
userlist_deny=NO
  • PAM 限制(常见坑)
cat /etc/pam.d/vsftpd

有时需注释掉:

# auth required pam_shells.so

3️⃣ 能登录但看不到目录 / 无法上传

现象:550 Permission denied

✅ 检查:

write_enable=YES

目录权限:

ls -ld /home/ftpuser
chmod 755 /home/ftpuser
chown ftpuser:ftpuser /home/ftpuser

如果是 chroot:

chroot_local_user=YES
allow_writeable_chroot=YES

4️⃣ 防火墙 / SELinux 问题(非常常见)

防火墙

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

SELinux

getenforce
setsebool -P ftpd_full_access on

5️⃣ 被动模式(PASV)连不上

客户端能登录但列不出目录。

✅ 配置被动端口:

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

防火墙放行:

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

三、快速自检清单 ✅

  • [ ] 服务是否运行
  • [ ] 配置文件是否语法正确
  • [ ] 用户是否允许登录
  • [ ] 目录权限是否正确
  • [ ] 防火墙 / SELinux 是否放行
  • [ ] 被动端口是否配置

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

你可以直接把下面信息贴出来:

  1. 用的什么 FTP 软件(vsftpd / proftpd / pure-ftpd)
  2. 报错原文(客户端 + 服务端)
  3. 相关配置文件(脱敏后)

我可以一步一步帮你改到能跑 ✅

0 踩