Stworzyłem użytkownika i utworzyłem jego katalog domowy /var/www/mysite/ftpdir
Dodałem również wpis Dopasuj użytkownika dla tego użytkownika sshd_config
z ChrootDirectory, który wskazuje/var/www/mysite
Znowu zacząłem to ssh
odbierać.
Kiedy loguję się za pomocą sftp - użytkownik nadal przechodzi do starego katalogu użytkownika, tj /home/user
czego mi brakuje?
/home/user
do celu?Odpowiedzi:
Oto proces:
Dodaj użytkownika do grupy:
sudo usermod -aG www blub
jak w Jaki jest najprostszy sposób edycji i dodawania plików do „/ var / www”?lub po prostu użyj
sudo adduser <username> www-data
sudo apt-get install vsftpd
Skonfiguruj vsftpd dla dostępu zdalnego:
sudo nano /etc/vsftpd.conf
i wewnątrz zestawu plikówi upewnij się, że jest to skomentowane:
zgodnie z dokumentacją .
sudo service vsftpd restart
Skonfiguruj katalog domowy użytkownika na katalog internetowy (nie w
/home
):Skonfiguruj ssh chroot
dodaj na końcu:
i upewnij się, że w dalszej części pliku jest to skomentowane (tj. przed tym, który właśnie dodałeś)
Uruchom ponownie ssh
Zmień uprawnienia do apache:
Jak w dokumentach tutaj .
Upewnij się, że twój katalog ma dostęp do danych www
źródło
chown root:root /var/www/site
wystarczy przywrócić go dosudo chown -R www-data:www-data /var/www/site
kroku 10, czy jest to celowe?Jeśli na końcu pojawia się błąd odmowy połączenia, upewnij się, że „Podsystem sftp wewnętrzny-sftp” znajduje się po „UsePAM tak” . Jeśli nie, zaktualizuj i uruchom ponownie ssh i zadziałało.
źródło
Mam prostą metodę, która działała dla mnie na apache.
Tak jest w przypadku, gdy nadal napotykasz problem z pozwoleniem
chmod
ichown
rozwiązujesz je zgodnie ze swoimi potrzebami.źródło