Jestem całkiem nowym debianem i próbuję skonfigurować serwer.
Utworzyłem użytkownika, który ma dostęp tylko do swojego folderu /home/username(i jego podkatalogu).
Teraz chcę użyć tego użytkownika do skonfigurowanego serwera WWW i dałem mu dostęp, /var/wwwale nie widzę /var/wwwprzez sftp i zrobiłem taki symboliczny link:
Zasadniczo, gdy użytkownik jest w /home/usernameSFTP, katalog ten staje się, /a odwołania poza nim /home/usernamenie są dostępne. W rzeczywistości dowiązanie symboliczne ln -s /var/www /home/username/wwwbędzie wyglądało tak, jakbyś próbował do niego dotrzeć /home/username/var/www(tzn. /home/usernameTeraz jest to /więc dowolny link, do którego odniesienia /var/wwwmuszą być również podkatalogiem /home/usernamew kontekście chroot).
Jako rozwiązanie możesz wyłączyć chroota (ale będzie to miało inne konsekwencje dla bezpieczeństwa, głównie z tym, że użytkownicy SFTP mają pełną kontrolę nad systemem plików). Możesz wykonać montowanie w pętli / var / www w / home / nazwa użytkownika / www (coś w rodzaju mount --bind /var/www /home/username/www(sprawdź dokumentację mount), które powinno działać tak, jak można się tego spodziewać pod chroot). Możesz także zrzucić plik sshd_config, aby wykluczyć tego konkretnego użytkownika z chroot (choć znowu, z implikacjami dla bezpieczeństwa).
/etc/fstab
za pomocą linii podobnej do/home/username/www /var/www none bind 0 0
Rozwiązałem rozłączenie dowiązania symbolicznego, które utworzyłem iz którym
(nawet jeśli straciłem wszystko było w / var / www, ale mnie to nie obchodzi)
Dziękuje wszystkim!
źródło