在 CentOS 上搭建 FTP 服务并允许匿名访问,通常使用 vsftpd(Very Secure FTP Daemon)。下面给你一个常见、可用的配置步骤(以 CentOS 7/8 为例)。
yum install -y vsftpd
# 或 CentOS 8
dnf install -y vsftpd
systemctl start vsftpd
systemctl enable vsftpd
编辑配置文件:
vi /etc/vsftpd/vsftpd.conf
确保以下配置存在(没有就加上):
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_root=/var/ftp
说明:
anonymous_enable=YES ✅ 允许匿名登录anon_root=/var/ftp 匿名用户根目录anon_upload_enable=YES 允许上传(可选)anon_mkdir_write_enable=YES 允许建目录(可选)默认目录一般是 /var/ftp:
chown ftp:ftp /var/ftp
chmod 755 /var/ftp
如果你要允许上传,建议建一个上传目录:
mkdir /var/ftp/upload
chown ftp:ftp /var/ftp/upload
chmod 777 /var/ftp/upload
setenforce 0
vi /etc/selinux/config
SELINUX=disabled
setsebool -P ftpd_full_access on
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
ftp localhost
登录时:
anonymous✅ 匿名用户 不能访问 /home 等目录
✅ 上传目录必须属于 ftp 用户
✅ SELinux 是 CentOS 上 FTP 失败最常见原因
如果你用的是 CentOS Stream / Rocky / Alma,或者想用 FTPS(加密),我可以继续帮你配。