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.