检查服务状态
sudo systemctl status vsftpd # 查看服务是否运行,未运行则启动
sudo systemctl start vsftpd
查看日志文件
/var/log/vsftpd.log
journalctl -xe
或 /var/log/messages
检查配置文件
sudo vi /etc/vsftpd/vsftpd.conf # 确保关键配置正确
listen=YES
(监听端口)、local_enable=YES
(允许本地用户)、write_enable=YES
(允许上传)、chroot_local_user=YES
(限制用户主目录)sudo vsftpd -t
处理端口占用
sudo netstat -tuln | grep :21 # 查看21端口是否被占用
若被占用,可修改vsftpd.conf
中listen_port
或停止占用进程。
配置防火墙与SELinux
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
sudo setsebool -P ftp_home_dir on
sudo setsebool -P allow_ftpd_full_access on
验证用户权限
sudo chown -R ftpuser:ftpuser /path/to/ftpdir
sudo chmod -R 755 /path/to/ftpdir
/etc/vsftpd.conf
中userlist_enable
等参数是否限制用户登录。测试网络连通性
ping
服务器IP,确保网络可达。pasv_min_port
至pasv_max_port
。/etc/pam.d/vsftpd
配置及用户是否存在。