可能原因及解决方案:
systemctl status vsftpd检查服务状态,若未运行,执行systemctl start vsftpd启动服务;建议设置开机自启(systemctl enable vsftpd)。firewalld,执行firewall-cmd --permanent --add-service=ftp并firewall-cmd --reload;对于iptables,添加规则iptables -A INPUT -p tcp --dport 21 -j ACCEPT并保存规则。/etc/vsftpd.conf关键参数:listen=YES(确保服务监听)、anonymous_enable=YES(允许匿名访问,若需本地用户访问则设为NO)、local_enable=YES(允许本地用户登录)、write_enable=YES(允许上传)。修改后重启服务(systemctl restart vsftpd)。ping 服务器IP测试客户端与服务器的网络连通性,确保无丢包或超时。可能原因及解决方案:
/etc/pam.d/vsftpd文件,确保包含pam_service_name=vsftpd(默认路径),若修改过配置需恢复默认或核对语法。/etc/vsftpd.conf中userlist_enable=YES,需确保用户已在/etc/vsftpd.user_list中(每行一个用户名),否则会被拒绝登录。getenforce显示Enforcing),需调整策略:临时关闭(setenforce 0)或永久关闭(修改/etc/selinux/config中SELINUX=disabled);或使用setsebool ftpd_disable_trans 1允许FTP传输。可能原因及解决方案:
/home/username)需设置为755(chmod 755 /home/username),所有者为用户自身(chown username:username /home/username);上传目录(如/var/ftp/pub)需设置为777(chmod 777 /var/ftp/pub)或755(需配合write_enable=YES)。restorecon -Rv /home/username(恢复用户主目录上下文)或chcon -R -t public_content_rw_t /var/ftp/pub(设置上传目录为可读写)。可能原因及解决方案:
21端口(控制连接)和数据端口范围(默认1024-65535,可在/etc/vsftpd.conf中设置pasv_min_port和pasv_max_port,如pasv_min_port=60000、pasv_max_port=61000)。21端口和pasv_min_port到pasv_max_port的范围(如firewall-cmd --permanent --add-port=60000-61000/tcp并firewall-cmd --reload)。可能原因及解决方案:
/etc/vsftpd.conf中是否有多余空格、拼写错误或无效参数(如local_enable = YES中的空格需删除,write_enable=YES中的值需大写);避免使用未定义的变量(如unknown_param=value)。/etc/vsftpd.conf的属主为root(chown root:root /etc/vsftpd.conf),权限为644(chmod 644 /etc/vsftpd.conf)。/var/log/vsftpd.log(或journalctl -xe)获取具体错误信息(如“500 OOPS: syntax error”),根据日志修正配置。解决方法:
vsftpd的日志文件通常位于/var/log/vsftpd.log(部分系统可能在/var/log/messages或journalctl中),通过以下命令查看实时日志:
tail -f /var/log/vsftpd.log # 实时监控日志
journalctl -u vsftpd -f # 使用systemd查看服务日志
日志中会记录连接被拒绝、认证失败、权限问题等详细原因(如“530 Login incorrect”表示密码错误,“500 OOPS: cannot change directory”表示目录权限问题),根据日志信息针对性解决。