现象:无法连接FTP服务器,systemctl status vsftpd显示服务未启动。
解决方法:
sudo systemctl start vsftpd;sudo systemctl enable vsftpd;sudo systemctl status vsftpd(若显示“active (running)”则表示成功)。现象:客户端连接时提示“Connection refused”或“Timeout”。
解决方法:
sudo ufw allow 21/tcp; sudo ufw allow 10000:10100/tcp; sudo ufw reload;sudo firewall-cmd --permanent --add-port=21/tcp; sudo firewall-cmd --permanent --add-port=10000-10100/tcp; sudo firewall-cmd --reload。sestatus显示“enforcing”),需调整策略:
sudo setsebool -P ftp_home_dir on;sudo setsebool -P allow_ftpd_full_access on。现象:匿名登录未禁止、用户无法写入文件、被动模式失效等。
解决方法:
/etc/vsftpd.conf,确保关键参数正确:
anonymous_enable=NO;local_enable=YES;write_enable=YES;chroot_local_user=YES;allow_writeable_chroot=YES;pasv_enable=YES;pasv_min_port=10000; pasv_max_port=10100。sudo systemctl restart vsftpd。现象:用户登录后无法查看或上传文件,提示“Permission denied”。
解决方法:
sudo chown ftpuser:ftpuser /home/ftpuser; sudo chmod 755 /home/ftpuser(ftpuser为用户名)。sudo find /home/ftpuser -type f -exec chmod 644 {} \;; sudo find /home/ftpuser -type d -exec chmod 755 {} \;。现象:客户端切换至被动模式后仍无法连接,提示“Cannot open data connection”。
解决方法:
pasv_enable=YES;pasv_min_port=10000; pasv_max_port=10100;现象:输入正确的用户名和密码后,提示“530 Login incorrect”。
解决方法:
/etc/pam.d/vsftpd文件,确保认证配置正确(默认通常为auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/user_list onerr=succeed);/etc/vsftpd/user_list限制用户,确保用户名在该文件中(未被注释);sudo setsebool -P ftpd_full_access on(谨慎使用)。现象:上传文件时提示“Disk quota exceeded”或“No space left on device”。
解决方法:
df -h命令检查磁盘空间使用情况;/var/log下的旧日志、/tmp目录下的临时文件);现象:客户端无法连接到服务器,ping服务器IP无响应。
解决方法:
ping 服务器IP测试网络连通性(若不通,检查客户端网络或服务器网络设备);traceroute 服务器IP检查网络路径(定位网络中断点);ip a查看)。