vsftp
FAQ
ftp client said: 500 cannot change directory
Ref. It is mostly often caused by selinux issue:
getenforce
# Res: Enforcing
getsebool -a | grep ftp
# You will find ftp_home_dir is off.
# Set it to be on. Restart vsftpd.
setseboll -P ftp_home_dir on
Enable pasv mode
Ref. Set in /etc/vsftpd/vsftpd.conf as follows, which enables passive mode and restricts it to using the ten ports for data connections. This is useful as you need to open these ports on your firewall.
pasv_enable=Yes pasv_max_port=10100 pasv_min_port=10090
iptables -I INPUT -p tcp --destination-port 10090:10100 -j ACCEPT
# If after testing this all works then save the state of your firewall with, which will update the /etc/sysconfig/iptables file.
service iptables save
Another solution
Ref. Uncomment and modify the IPTABLES_MODULES line in the /etc/sysconfig/iptables-config file to read:
IPTABLES_MODULES="ip_conntrack_ftp"Save the iptables config and restart iptables.