下面给你一个在 Linux 上配置 FTP 服务器的常见步骤(以 vsftpd 为例,最常用、稳定)。不同发行版命令略有差异,我会标注。
yum install -y vsftpd
apt update
apt install -y vsftpd
systemctl start vsftpd
systemctl enable vsftpd
查看状态:
systemctl status 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:用户限制在自己目录useradd -m ftpuser
passwd ftpuser
设置家目录(可选):
usermod -d /data/ftp ftpuser
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
如果登录异常:
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_enableallow_writeable_chroot如果你告诉我:
我可以给你一套可直接用的配置。