SFTP'nin muhtemelen köklü olması nedeniyle, / var / www dizini, kök hapishanedeki kullanıcı tarafından kullanılamaz.
/etc/ssh/sshd_config
Sftp 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/username
kullanılamaz. Aslında, böyle bir sembolik ln -s /var/www /home/username/www
sen 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/www
da bir alt dizin olmalıdır /home/username
chroot 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 mount
Eğ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.