在 Linux 上开启 FTP 服务,常见做法是安装并配置 vsftpd(最常用、稳定、安全)。下面按通用步骤说明,适用于大多数发行版(CentOS / Rocky / Alma / RHEL / Ubuntu / Debian)。
yum install -y vsftpd
# 或
dnf install -y vsftpd
sudo apt update
sudo apt install -y vsftpd
systemctl start vsftpd
systemctl enable vsftpd
查看状态:
systemctl status vsftpd
配置文件路径:
/etc/vsftpd/vsftpd.conf # CentOS/RHEL
/etc/vsftpd.conf # Ubuntu/Debian
# 允许本地用户登录
local_enable=YES
# 允许上传
write_enable=YES
# 禁止匿名登录(安全)
anonymous_enable=NO
# 限制用户只能访问自己的家目录(推荐)
chroot_local_user=YES
# 允许 chroot 目录可写(新版 vsftpd 必须)
allow_writeable_chroot=YES
保存后重启:
systemctl restart vsftpd
# 创建用户
useradd 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
如果是 CentOS / RHEL 且 SELinux=Enforcing:
setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on
查看状态:
getenforce
ftp 服务器IP
或使用工具:
/etc/shells)allow_writeable_chroot=YES
告诉我你的 Linux 发行版 + 使用场景,我可以给你更精确的配置方案。