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
,并优先通过日志定位问题。