vsftpd centos: 500 OOPS: cannot change directory:/home/username

по дефолту включен selinux, который и доставляет проблему, лечится

setsebool -P ftp_home_dir 1
service vsftpd restart

И добавлением одной строки в «vsftpd.conf»:

session_support="YES"

Проблема возникает из-за того, что vsftpd по умолчанию не трогает модули сервиса session в PAM.

Очень подробно описал настройку профессионального фтп-сервера в этой статье.
Гораздо экономнее запускать VSFTPD по требованию от суперсервера XINETD !!!