SFTP'nin muhtemelen köklü olması nedeniyle, / var / www dizini, kök hapishanedeki kullanıcı tarafından kullanılamaz.
/etc/ssh/sshd_configSftp yönergelerine bakın ve inceleyin. Şuna benzer bir şey görüyor musunuz:
Match group sftp
ChrootDirectory /home/%u
AllowTcpForwarding no
ForceCommand internal-sftp
Sshd_config kılavuz sayfası burada .
Temel olarak, kullanıcı SFTP'ye girdikten sonra /home/username, bu dizin olur /ve dışındaki referanslar /home/usernamekullanılamaz. Aslında, böyle bir sembolik ln -s /var/www /home/username/wwwsen ulaşmak için çalışıyoruz gibi görünecektir /home/username/var/www(yani /home/usernameşimdi /gönderme yapmayan herhangi bir bağlantı /var/wwwda bir alt dizin olmalıdır /home/usernamechroot bağlamında).
Bir çözüm olarak, chroot'u kapatabilirsiniz (ancak bunun, esas olarak dosya sisteminiz üzerinde tam dizginleri olan SFTP kullanıcıları ile) başka güvenlik sonuçları olacaktır. Bir döngü (gibi bir şey / var / www içine / home / kullanıcı adı / www monte yapabilirsiniz mount --bind /var/www /home/username/www(için belgelerine kontrol mountEğer chroot altında beklediğiniz gibi çalışması gerekir)). Ayrıca, belirli bir kullanıcıyı chroot'tan hariç tutmak için sshd_config dosyasıyla da yapıştırabilirsiniz (yine de güvenlik etkileriyle).
Önce bağlama bağını denerdim.