检查服务状态
systemctl status vsftpd # 查看服务是否运行,未运行则启动
systemctl start vsftpd
systemctl enable vsftpd # 设置开机自启
查看日志文件
/var/log/vsftpd.log
journalctl -xe
或 /var/log/messages
//var/log/secure
验证配置文件
/etc/vsftpd/vsftpd.conf
语法:vsftpd -t # 测试配置文件正确性
listen=YES
(监听端口,默认21)local_enable=YES
(允许本地用户登录)write_enable=YES
(允许上传文件)chroot_local_user=YES
(限制用户主目录)systemctl restart vsftpd
排查端口与防火墙
netstat -tuln | grep :21
若被占用,修改配置文件中 listen_port
或停止冲突服务。firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --reload
处理SELinux问题
getenforce # 若为Enforcing,需调整策略
setenforce 0
setsebool -P ftp_home_dir on
setsebool -P allow_ftpd_full_access on
确认用户权限
chown -R ftpuser:ftpuser /path/to/ftp/dir
chmod -R 755 /path/to/ftp/dir
常见错误及解决
/etc/vsftpd.conf
中 local_enable
及PAM配置。提示:修改配置后需重启服务,优先通过日志定位具体错误原因。