在 Linux 上搭建 FTP 服务器,最常用、稳定、简单的是 vsftpd(Very Secure FTP Daemon)。下面以 CentOS / Rocky / Alma(RHEL 系) 和 Ubuntu / Debian 为例,手把手说明。
sudo dnf install -y vsftpd
# 或旧版 CentOS
sudo yum install -y vsftpd
sudo apt update
sudo apt install -y vsftpd
sudo systemctl start vsftpd
sudo systemctl enable vsftpd
查看状态:
systemctl status vsftpd
编辑配置文件:
sudo vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
保存后重启:
sudo systemctl restart vsftpd
sudo useradd -m ftpuser
sudo passwd ftpuser
限制用户只能 FTP(不能登录系统,可选):
sudo usermod -s /sbin/nologin ftpuser
# firewalld
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --reload
# iptables
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
在 vsftpd.conf 中添加:
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000
防火墙开放:
sudo firewall-cmd --permanent --add-port=30000-31000/tcp
sudo firewall-cmd --reload
如果登录后无法写入:
sudo setsebool -P ftp_home_dir on
sudo setsebool -P allow_ftpd_full_access on
ftp localhost
ftp 服务器IP
或用 FileZilla:
✅ 连接被拒绝
✅ 能登录但不能上传
write_enable=YES✅ 被动模式连不上
如果你告诉我:
我可以给你 更精确的配置方案。