Ймовірно, SFTP зберігається в хронічному режимі, так що каталог / var / www не буде доступний для користувача у в'язниці chroot.
Загляньте /etc/ssh/sshd_configі вивчіть директиви sftp. Ви бачите щось на кшталт:
Match group sftp
ChrootDirectory /home/%u
AllowTcpForwarding no
ForceCommand internal-sftp
Сторінка людини sshd_config тут .
В основному, як тільки користувач перебуває в /home/usernameSFTP, цей каталог стає, /а посилання поза межами /home/usernameне доступні. Насправді подібне посилання ln -s /var/www /home/username/wwwбуде схоже на те, що ви намагаєтесь дістатись /home/username/var/www(тобто, /home/usernameзараз /це будь-яке посилання, на яке посилання /var/wwwтакож повинні бути підкаталогом /home/usernameу контексті chroot).
Як рішення, ви можете вимкнути chroot (але це матиме й інші наслідки для безпеки, головним чином для користувачів SFTP, які мають повний крок над вашою файловою системою). Ви можете встановити цикл / var / www в / home / username / www (щось на зразок mount --bind /var/www /home/username/www(перевірте свою документацію на те, mountщо повинно працювати так, як ви очікували під chroot). Ви також можете скористатися файлом sshd_config, щоб виключити одного конкретного користувача з chroot (хоча, знову ж таки, із наслідками для безпеки).
Я спробував би спочатку встановити прив'язку.