在 Linux 上配置 FTP 服务,最常用的是 vsftpd(Very Secure FTP Daemon)。下面我按 “安装 → 配置 → 用户 → 防火墙 → 测试” 的顺序给你一套通用、实用、可落地的配置流程,适用于 CentOS / Rocky / Alma / RHEL / Ubuntu / Debian。
yum install -y vsftpd
apt update
apt install -y vsftpd
systemctl start vsftpd
systemctl enable vsftpd
查看状态:
systemctl status vsftpd
配置文件路径:
/etc/vsftpd/vsftpd.conf # CentOS/RHEL
/etc/vsftpd.conf # Ubuntu
编辑配置:
vim /etc/vsftpd/vsftpd.conf
local_enable=YES
write_enable=YES
anonymous_enable=NO
chroot_local_user=YES
allow_writeable_chroot=YES
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
云服务器 必须配置被动模式,否则客户端连不上。
useradd ftpuser
passwd ftpuser
mkdir -p /data/ftp
usermod -d /data/ftp ftpuser
chown -R ftpuser:ftpuser /data/ftp
chmod 755 /data/ftp
firewall-cmd --permanent --add-service=ftp
firewall-cmd --permanent --add-port=30000-31000/tcp
firewall-cmd --reload
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT
查看状态:
getenforce
setenforce 0
setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on
systemctl restart vsftpd
ftp 服务器IP
ftp://IP/etc/shells 中无该用户 shellallow_writeable_chroot=YES
✅ 禁止 root 登录
✅ 使用 SFTP(SSH) 替代 FTP(更安全)
✅ 限制 IP 访问
✅ 定期更新系统
如果你愿意,可以告诉我:
我可以给你 完全针对你环境的配置方案。