Es probable que el SFTP se esté procesando, de modo que el directorio / var / www no esté disponible para el usuario en la cárcel de chroot.
Mire /etc/ssh/sshd_configy examine las directivas sftp. ¿Ves algo como:
Match group sftp
ChrootDirectory /home/%u
AllowTcpForwarding no
ForceCommand internal-sftp
La página del manual de sshd_config está aquí .
Básicamente, una vez que el usuario está en /home/usernameSFTP, ese directorio se convierte /y las referencias externas /home/usernameno están disponibles. De hecho, un enlace simbólico ln -s /var/www /home/username/wwwparecerá que está tratando de alcanzarlo /home/username/var/www(es decir, /home/usernameahora es /así, cualquier enlace al que haga referencia /var/wwwtambién debe ser un subdirectorio /home/usernameen el contexto del chroot).
Como solución, puede desactivar el chroot (pero esto tendrá otras implicaciones de seguridad, principalmente con los usuarios de SFTP que tienen control total sobre su sistema de archivos). Puede hacer un montaje en bucle de / var / www en / home / username / www (algo así como mount --bind /var/www /home/username/www(consulte su documentación mount) que debería funcionar como se esperaría en chroot). También puede manipular el archivo sshd_config para excluir a ese usuario en particular del chroot (aunque, nuevamente, con implicaciones de seguridad).
Primero probaría el montaje de unión.