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_config
y 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/username
SFTP, ese directorio se convierte /
y las referencias externas /home/username
no están disponibles. De hecho, un enlace simbólico ln -s /var/www /home/username/www
parecerá que está tratando de alcanzarlo /home/username/var/www
(es decir, /home/username
ahora es /
así, cualquier enlace al que haga referencia /var/www
también debe ser un subdirectorio /home/username
en 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.