500 OOPS: cannot change directory: /home/user/public_html, VSFTPD error
You can check this link. It worked for me.
Make sure that the user and group permissions for the account and the home directory match. For example, if you are logging in as:
account:x:521:500::/some/directory:/sbin/nologin
then make sure that the home directory defined for “account” is at least readable and executable by user 521 and group 500.
That error is generated because of Selinux. Please do the following actions:
[root@sun02 vsftpd]# getenforce
Enforcing
[root@sun02 vsftpd]# getsebool -a | grep ftp
allow_ftpd_anon_write –> off
allow_ftpd_full_access –> off
allow_ftpd_use_cifs –> off
allow_ftpd_use_nfs –> off
allow_tftp_anon_write –> off
ftp_home_dir –> off # We need to change this to on - see next command.
ftpd_disable_trans –> off
ftpd_is_daemon –> on
httpd_enable_ftp_server –> off
tftpd_disable_trans –> off
[root@sun02 vsftpd]# setsebool -P ftp_home_dir on
This is all that u want to need.
Good Luck!
source: Copied and pasted from the above link. Credits to @Jaime M. of http://blog.arithm.com/