温馨提示×

linux ftpserver配置啥步骤

小樊
40
2026-09-05 07:59:59
栏目: 智能运维

下面给你一个在 Linux 上配置 FTP 服务器的常见步骤(以 vsftpd 为例,最常用、稳定)。不同发行版命令略有差异,我会标注。


一、安装 FTP 服务(vsftpd)

CentOS / Rocky / Alma

yum install -y vsftpd

Ubuntu / Debian

apt update
apt install -y vsftpd

二、启动并设置开机自启

systemctl start vsftpd
systemctl enable vsftpd

查看状态:

systemctl status vsftpd

三、配置 vsftpd

配置文件位置:

/etc/vsftpd/vsftpd.conf   # CentOS
/etc/vsftpd.conf          # Ubuntu

常用基础配置(示例)

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
chroot_local_user=YES
allow_writeable_chroot=YES
listen=YES

说明:

  • anonymous_enable=NO:禁止匿名登录
  • local_enable=YES:允许本地用户
  • write_enable=YES:允许上传
  • chroot_local_user=YES:用户限制在自己目录

四、创建 FTP 用户

useradd -m ftpuser
passwd ftpuser

设置家目录(可选):

usermod -d /data/ftp ftpuser

五、防火墙配置

如果是 firewalld(CentOS)

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

如果是 iptables

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

六、SELinux(仅 CentOS/RHEL)

如果登录异常:

setsebool -P ftp_home_dir on

或临时关闭测试:

setenforce 0

七、被动模式(推荐)

在配置文件中加:

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000

防火墙放行:

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

八、测试连接

本地测试:

ftp localhost

或用 FileZilla / 浏览器:

ftp://服务器IP

九、常见坑点

  • 登录后无法上传 → 检查 write_enable
  • 530 错误 → 用户名/密码或 PAM 问题
  • 被动模式连不上 → 端口未放行
  • 用户被锁死在家目录 → allow_writeable_chroot

如果你告诉我:

  • 用的 哪个 Linux 发行版
  • 内网还是公网
  • 要不要 匿名 / 虚拟用户

我可以给你一套可直接用的配置

0