Embora /ftp/home/john/./test seja uma entrada passwd válida, o ponto . aqui não assume nenhum sentido
-bash-4.1$ echo $HOME
/home/testuser/./test
-bash-4.1$ pwd
/home/testuser/./test
-bash-4.1$ cd ..
-bash-4.1$ pwd
/home/testuser
-bash-4.1$ cd test
-bash-4.1$ pwd
/home/testuser/test
Assim, o diretório inicial do usuário john é /ftp/home/john/test não /ftp/home/john , como você supõe. Para permitir que o usuário john atinja /ftp/home/john , você precisa definir sua pasta base como /ftp/home/john (ou superior). Em vsftpd (e geralmente em geral), os usuários com chroot não podem ser mais altos do que suas casas.