Do tej pory nie byłem w stanie uwięzić użytkownika FTP w katalogu witryny. Czy istnieje rozwiązanie, które naprawia ten błąd i powoduje, że użytkownik jest więziony w swoim katalogu?
Moje ustawienia vsFTPd, które zmieniłem:
listen_port=9000
Set: anonymous_enable=NO
Uncomment: local_enable=YES
Uncomment: write_enable=YES
Uncomment: local_umask=022
Set: connect_from_port_20=NO
Uncomment: idle_session_timeout=600
Uncomment: data_connection_timeout=120
Comment out: #ftpd_banner=Welcome to blah FTP service. [should be on line 104]
Added: banner_file=/etc/issue.net
Uncomment: chroot_local_user=YES
Uncomment: chroot_local_user=YES
Uncomment: chroot_list_enable=YES
Uncomment : chroot_list_file=/etc/vsftpd.chroot_list
Na końcu pliku dodałem:
# Show hidden files and the "." and ".." folders.
# Useful to not write over hidden files:
force_dot_files=YES
# Hide the info about the owner (user and group) of the files.
hide_ids=YES
# Connection limit for each IP address:
max_per_ip=10
# Maximum number of clients:
max_clients=5
# FTP Passive Settings
pasv_enable=YES
#If your listen_port is 9000 set this range to 7500 and 8500
pasv_min_port=[port range min]
pasv_max_port=[port range max]
Użytkownik, o którym mowa, mybloguser
jest więziony w swoim katalogu swojej witryny pod, /srv/www/myblog
a ten użytkownik nie jest częścią nano /etc/vsftpd.chroot_list
pliku. Katalog domowy użytkownika jest również tym, /srv/www/myblog
który działał w przeszłości.
Wypróbowałem allow_writeable_chroot=YES
rozwiązanie, które nie działało i faktycznie całkowicie zepsuło vsFTPd.
Próbowałem:
Naprawa 500 OOPS: vsftpd: odmowa uruchomienia z zapisywalnym rootem w chroot ()
Naprawianie 500 OOPS: vsftpd: odmowa uruchomienia z zapisywalnym rootem w chroot () na vsftpd
Jak możemy naprawić ten błąd i zatrzymać użytkownika w katalogu domowym?
allow_writeable_chroot=YES
wystarczyło i faktycznie działało „zgodnie z oczekiwaniami” FWIW ...Odpowiedzi:
W przypadku VSFTPD 3
/etc/vsftpd.conf
i dodaj to:
Po prostu dodaj go, jeśli jeszcze nie istnieje.
Uruchom ponownie usługę vsftpd:
I powinno działać.
źródło
Prawdziwe rozwiązanie tego problemu: folder domowy użytkownika nie powinien być zapisywalny, a jedynie czytelny.
Tak więc, jeśli witryna użytkownika znajduje się w folderze jest
cat/example.com/http/
, foldercat
musi miećchmod 555
i wszystko będzie w porządku.źródło
Po dalszej recenzji tego postu w komentarzach opublikowano paczkę, która rozwiązała mój problem. Możesz go wyszukać według mojego nazwiska lub Dokumentacji „Znaki”: http://www.benscobie.com/fixing-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/ . Oto moje szczegóły, jak to naprawić.
UŻYTKOWNICY WCIĄŻ SĄ WIĘZI DO SWOICH DOMOWYCH KATALOGÓW !!!
źródło
Zgodnie z poprzednią odpowiedzią „PRAWDZIWE rozwiązanie tego problemu: folder domowy użytkownika nie powinien być zapisywalny tylko do odczytu”. Ogólne myślenie jest słuszne, ale z błędną realizacją.
Poniżej postaram się podać prosty przykład:
Na początek musimy zbudować topologię katalogu użytkownika:
Wytnij vsftpd.conf:
Ta konfiguracja działa świetnie z konfiguracją dla jednego użytkownika . W przypadku wielu użytkowników należy dodatkowo zastosować dyrektywę „user_config_dir”.
** AKTUALIZACJA 20/09
------ **
Oto trudne obejście, nie najlepszy pomysł, ale ... Jeśli potrzebujesz zapisywalnego folderu głównego ftp, po prostu wstaw polecenia zmiany uprawnień w poleceniach przed uruchomieniem i po uruchomieniu.
Przed uruchomieniem - zmień uprawnienia na tylko do odczytu, których wymaga serwer (:
Uruchom serwer
Po uruchomieniu - zmień uprawnienia do odczytu i zapisu lub potrzebne.
źródło
To właściwie to, o czym wspomniał toastboy70. Ustaw katalog ftp-root w chown'd na ftp.ftp i nie do zapisu (/etc/vsftpd.conf): anon_root = / srv / ftp
Następnie utwórz zapisywalny katalog potomny: / srv / ftp / upload
źródło
Musiałem również dodać następujące elementy do pliku /etc/vsftpd.conf:
I nie ma potrzeby niestandardowego repo !!
I odkomentuj linię:
źródło
Prosta poprawka polega na zrobieniu tego, co sugeruje komunikat o błędzie: spraw, aby root nie był zapisywalny, a następnie, jeśli chcesz włączyć przesyłanie, utwórz podkatalog, który ma uprawnienia do zapisu. Nie wymaga zmian w konfiguracji.
źródło
Po 3 godzinach googlingu uruchomiłem Ubuntu 14.04.2 LTS VSFTPd 3. Folder domowy będzie widoczny / home / vimal po uzyskaniu dostępu do klienta. Zalogowałem się w Vimal z uprawnieniami roota. Mam utworzony folder ftpShare, ale nie ma on większego znaczenia.
kilka przydatnych poleceń:
Powyżej oznacza, że demon ftp działa
Mam następującą konfigurację:
Po uruchomieniu FTP możesz go dostosować do konkretnych potrzeb, niektóre z powyższych mają wartości domyślne, ale nie pamiętam dokładnie.
Błędy widoczne w kliencie FTP:
1. 500 OOPS: niepowodzenie prctl PR_SET_SECCOMP
Rozwiązanie.
[dodaj go w pierwszym wierszu vsftpd.conf, po zakończeniu początkowej komentowanej sekcji]
2. 500 OOPS: vsftpd: odmowa uruchomienia z zapisywalnym rootem w chroot ()
Dodałem go w ostatniej linii.
źródło
Rozwiązałem problem odmowy vsFTPd odmowy działania z zapisywalnym rootem w chroot () na moim serwerze Ubuntu w następujący sposób:
Właśnie dodałem poniższy wiersz w
vsftpd.conf
pliku:źródło