Parece que, para que o usuário possa fazer chroot no diretório configurado, todos os diretórios pai devem ter permissões de leitura e execução, caso contrário, eles serão negados por motivos de segurança.
Assim que eu fizer login com meus usuários virtuais no ftp eu recebo "não posso alterar o directoy", eu tenho a seguinte configuração em vsftpd.conf. Por favor sugira
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=002
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
virtual_use_local_privs=YES
guest_enable=YES
user_sub_token=$USER
hide_ids=YES
user_config_dir=/data/some-path/ftp/users
local_root=/data/some-path/ftp/data/$USER
guest_username=vsftpd
Acho que seus usuários serão vinculados a seus diretórios pessoais com chroot_local_user = YES, talvez tente configurar o diretório home do seu usuário ftp para / data / algum caminho / ftp / data / $ USER mais veja o que acontece quando chroot_local_user = NO
Este é provavelmente um problema do SELinux, tente definir
/usr/sbin/setsebool -P ftp_home_dir 1
e veja se isso corrige isso.