systemctl status vsftpd 确认服务是否运行,未启动则执行 systemctl start vsftpd。journalctl -xe 或 /var/log/secure 查找启动失败原因,如配置文件错误、端口冲突等。/etc/ftpusers 中被禁止登录。vsftpd.conf 中 local_enable=YES 且 chroot_local_user 设置正确。755,使用 chown 和 chmod 修正。write_enable=YES 并确保目录权限为 775 或 777。setenforce 0 测试,或永久配置 setsebool -P ftp_home_dir=1 允许访问。ping 和 telnet <IP> 21 测试网络及端口是否可达。firewall-cmd --add-port=21/tcp --permanent 并重载。vsftpd.conf 中设置 pasv_enable=YES。vsftpd.conf 中添加 pasv_min_port=10060 pasv_max_port=10070,并确保防火墙放行。sestatus 确认是否启用,临时禁用用 setenforce 0,永久修改需编辑 /etc/selinux/config。setsebool -P ftp_home_dir=1 和 setsebool -P allow_ftpd_full_access=1。vsftpd -t 测试配置文件语法,修正错误后重启服务。操作前建议:修改配置前备份文件,操作后重启服务 systemctl restart vsftpd,并优先通过日志定位问题。