在 CentOS 上搭建的 FTP 服务器通常使用的是 vsftpd(Very Secure FTP Daemon)。要禁止匿名登录,可以按以下步骤操作:
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
(如果前面有 #,去掉注释)
local_enable=YES
write_enable=YES
systemctl restart vsftpd
设置开机自启(如未设置):
systemctl enable vsftpd
使用 ftp 客户端测试:
ftp localhost
当提示输入用户名时,尝试使用 anonymous 或 ftp:
Login failed 或 530 Permission denied,说明已成功禁止匿名。useradd ftpuser
passwd ftpuser
如果用户不能登录,检查:
/etc/shells 是否包含该用户 shell如果 FTP 登录异常,可检查 SELinux:
getsebool -a | grep ftp
允许本地用户登录 FTP:
setsebool -P ftp_home_dir on
确保 21 端口开放:
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
✅ 完成以上步骤后,CentOS 的 FTP 服务器就禁止了匿名访问,只能通过有效用户登录。
如果你用的是 ProFTPD / Pure-FTPd 或其他 FTP 服务,也可以告诉我,我可以给你对应配置方法。