Skonfiguruj VSFTPD na Ubuntu 17.04 | 17.10

  • George Richardson
  • 0
  • 3927
  • 346

Ten krótki samouczek pokazuje studentom i nowym użytkownikom, jak zainstalować i skonfigurować VSFTPD w systemie Ubuntu 17.04 | 17.10. Ten post powinien pomóc Ci skonfigurować serwer VSFTPD, aby umożliwić przesyłanie plików między klientem a serwerem.

Korzystanie z serwerów FTP do przesyłania wysyłanych i pobieranych plików z serwera może być szybszym i łatwiejszym sposobem dla nowych użytkowników i uczniów. A jeśli chodzi o FTP na Ubuntu, VSFTPD jest prawdopodobnie najpopularniejszym dostępnym serwerem FTP.

Aby zainstalować i skonfigurować VSFTPD w systemie Ubuntu, wykonaj poniższe czynności:

Krok 1: Zainstaluj VSFTPD

Poniższe polecenia instalują VSFTPD na serwerach Ubuntu.

sudo apt-get install vsftpd

Po zainstalowaniu VSFTPD jego plik konfiguracyjny zostanie zapisany w poniższej lokalizacji.

/etc/vsftpd.conf

Większość twoich zmian nastąpi w powyższej lokalizacji.

Krok 2: Skonfiguruj VSFTPD

Po zainstalowaniu serwera poniższe ustawienia powinny zostać skonfigurowane na serwerze, aby umożliwić użytkownikom łączenie się i przesyłanie plików, a także zapewnić pewne bezpieczeństwo serwerowi.

Uruchom poniższe polecenia, aby otworzyć plik konfiguracyjny VSFTPD i wprowadź wyróżnione zmiany poniżej.

sudo nano /etc/vsftpd.conf

Następnie wprowadź poniższe zmiany:

# Przykładowy plik konfiguracyjny /etc/vsftpd.conf # # Domyślnie wkompilowane ustawienia są dość paranoiczne. Ten przykładowy plik # trochę rozluźnia sprawę, aby demon ftp był bardziej użyteczny. # Zobacz vsftpd.conf.5 dla wszystkich skompilowanych z domyślnymi ustawieniami. # # PRZECZYTAJ: Ten przykładowy plik NIE jest wyczerpującą listą opcji vsftpd. # Przeczytaj stronę podręcznika vsftpd.conf.5, aby uzyskać pełny obraz możliwości # vsftpd. # # # Uruchomić samodzielnie? vsftpd może działać z inetd lub jako samodzielny # demon uruchamiany ze skryptu inicjującego. Listen = NO # # Ta dyrektywa umożliwia nasłuchiwanie na gniazdach IPv6. Domyślnie nasłuchiwanie # na „dowolnym” adresie IPv6 (: :) będzie akceptować połączenia od klientów IPv6 # i IPv4. Nie jest konieczne nasłuchiwanie * zarówno * * gniazd IPv4, jak i IPv6 #. Jeśli chcesz tego (być może dlatego, że chcesz nasłuchiwać na określonych # adresach), musisz uruchomić dwie kopie vsftpd z dwoma plikami konfiguracyjnymi #. Listen_ipv6 = TAK # # Zezwalać na anonimowe FTP? (Domyślnie wyłączone). # anonymous_enable = NO # # Usuń komentarz, aby umożliwić zalogowanie się lokalnym użytkownikom. local_enable = TAK # # Usuń komentarz, aby włączyć dowolną formę polecenia zapisu FTP. write_enable = YES # # Domyślna wartość umask dla użytkowników lokalnych to 077. Możesz zmienić to na 022, # jeśli Twoi użytkownicy oczekują, że (022 jest używane przez większość innych ftpd) # local_umask = 022 # # Odkomentuj, aby zezwolić na anonimowe FTP użytkownika do przesyłania plików. To tylko # ma wpływ, jeśli powyższe globalne zezwolenie na zapis jest aktywowane. Będziesz także oczywiście musiał utworzyć katalog z możliwością zapisu przez użytkownika FTP. # anon_upload_enable = YES # # Usuń komentarz, jeśli chcesz, aby anonimowy użytkownik FTP mógł tworzyć # nowe katalogi. # anon_mkdir_write_enable = YES # # Activate directory messages - wiadomości przekazywane zdalnym użytkownikom, gdy # wejdą do określonego katalogu. dirmessage_enable = YES # # Jeśli włączone, vsftpd wyświetli listę katalogów z czasem # Twojej lokalnej strefy czasowej. Domyślnie wyświetlany jest czas GMT. Ta opcja # wpływa również na # czasy zwrócone przez polecenie FTP MDTM. use_localtime = YES # # Aktywuj rejestrowanie wysyłanych / pobieranych plików. xferlog_enable = YES # # Upewnij się, że połączenia transferowe PORT pochodzą z portu 20 (ftp-data). connect_from_port_20 = YES # # Jeśli chcesz, możesz ustawić, aby przesłane anonimowe pliki były własnością innego # użytkownika. Uwaga! Używanie "root" do przesyłania plików nie jest # zalecane! # chown_uploads = TAK # chown_username = ktokolwiek # # Możesz zmienić lokalizację pliku dziennika, jeśli chcesz. Wartość domyślna jest pokazana poniżej. # xferlog_file = / var / log / vsftpd.log # # Jeśli chcesz, możesz mieć swój plik dziennika w standardowym formacie ftpd xferlog. # Zwróć uwagę, że w tym przypadku domyślną lokalizacją pliku dziennika jest / var / log / xferlog. # xferlog_std_format = TAK # # Możesz zmienić domyślną wartość limitu czasu bezczynnej sesji. # idle_session_timeout = 600 # # Możesz zmienić domyślną wartość limitu czasu połączenia danych. # data_connection_timeout = 120 # # Zaleca się zdefiniowanie w systemie unikalnego użytkownika, którego # serwer ftp może używać jako całkowicie izolowanego i nieuprzywilejowanego użytkownika. # nopriv_user = ftpsecure # # Włącz tę opcję, a serwer rozpozna asynchroniczne żądania ABOR. Niezalecane ze względów bezpieczeństwa (kod jest nietrywialny). Jednak jej wyłączenie # może zmylić starszych klientów FTP. # async_abor_enable = YES # # Domyślnie serwer będzie udawał, że zezwala na tryb ASCII, ale w rzeczywistości # zignoruje żądanie. Włącz poniższe opcje, aby serwer faktycznie dokonywał manipulacji # ASCII # na plikach w trybie ASCII. # Uwaga, na niektórych serwerach FTP obsługa ASCII umożliwia atak typu „odmowa usługi” (DoS) za pomocą polecenia „SIZE / big / file” w trybie ASCII. vsftpd # przewidział ten atak i zawsze był bezpieczny, podając rozmiar pliku raw #. # Zniekształcanie ASCII jest straszną cechą protokołu. ascii_upload_enable = TAK ascii_download_enable = TAK # # Możesz w pełni dostosować ciąg znaków banera logowania: # ftpd_banner = Witamy w usłudze FTP blah. # # Możesz określić plik niedozwolonych anonimowych adresów e-mail. Najwyraźniej przydatne do zwalczania niektórych ataków DoS. # deny_email_enable = TAK # (domyślnie poniżej) # banned_email_file = / etc / vsftpd.banned_emails # # Możesz ograniczyć lokalnych użytkowników do ich katalogów domowych. Zobacz FAQ, aby znaleźć # możliwe zagrożenia przed użyciem chroot_local_user lub # chroot_list_enable poniżej. # chroot_local_user = YES # # Możesz podać jawną listę lokalnych użytkowników dla chroot () do ich # katalogu domowego. Jeśli chroot_local_user ma wartość YES, to ta lista stanie się listą # użytkowników dla NIE chroot (). # (Ostrzeżenie! Chroot może być bardzo niebezpieczne. Jeśli używasz chroot, upewnij się, że # użytkownik nie ma prawa zapisu do katalogu najwyższego poziomu w # chroot) user_sub_token = $ USER chroot_local_user = TAK chroot_list_enable = TAK # (domyślnie następujący) chroot_list_file = / etc / vsftpd.chroot_list local_root = / home / $ USER / Public_html allow_writeable_chroot = YES # # Możesz aktywować opcję "-R" we wbudowanym ls. Jest to # domyślnie wyłączone, aby użytkownicy zdalni nie mogli powodować nadmiernych operacji we / wy w # dużych witrynach. Jednak niektóre zepsute klienty FTP, takie jak „ncftp” i „mirror”, zakładają # obecność opcji „-R”, więc istnieją mocne argumenty przemawiające za jej włączeniem. ls_recurse_enable = TAK # # Dostosowywanie # # Niektóre ustawienia vsftpd domyślnie nie pasują do układu systemu plików. # # Ta opcja powinna być nazwą katalogu, który jest pusty. Ponadto użytkownik ftp nie powinien mieć prawa zapisu do katalogu #. Ten katalog jest # używany jako bezpieczne więzienie chroot (), czasami vsftpd nie wymaga # dostępu do systemu plików. secure_chroot_dir = / var / run / vsftpd / empty # # Ten ciąg to nazwa usługi PAM, której będzie używał vsftpd. pam_service_name = vsftpd # # Ta opcja określa lokalizację certyfikatu RSA używanego w połączeniach szyfrowanych SSL #. rsa_cert_file = / etc / ssl / certs / ssl-cert-snakeoil.pem rsa_private_key_file = / etc / ssl / private / ssl-cert-snakeoil.key ssl_enable = NIE # # Usuń komentarz, aby wskazać, że vsftpd używa systemu plików utf8. # utf8_filesystem = TAK 

Zapisz zmiany.

Po zapisaniu zmian uruchom poniższe polecenia, aby utworzyć plik chroot_list_file. Ten plik będzie zawierał użytkowników, którzy mogą przeglądać swoje katalogi domowe. Każdy, kto nie znajduje się w pliku, nie będzie mógł zalogować się do swojego katalogu domowego, ale do lokalizacji określonej dla local_root = / home / $ USER / Public_html.

Każdy użytkownik powinien mieć Public_html w ich katalogu domowym z pełnym dostępem. Użytkownicy, którzy nie znajdują się w plik chroot_list, będą mogli łączyć się przez FTP, ale z ograniczeniem do Public_html w swoim katalogu domowym, zgodnie z definicją w pliku konfiguracyjnym.

sudo nano /etc/vsftpd.chroot_list

Następnie dodaj swoją nazwę użytkownika lub dowolnego innego użytkownika, który potrzebuje dostępu do swojego katalogu domowego w pliku, po jednej nazwie w każdym wierszu i zapisz.

Na koniec uruchom poniższe polecenia, aby ponownie uruchomić VSFTPD.

sudo systemctl zrestartuj vsftpd

Gotowe! ~

Otwórz swojego ulubionego klienta FTP (FileZilla) i połącz się z serwerem za pośrednictwem jego nazwy hosta lub adresu IP, a powinieneś uzyskać dostęp.

Cieszyć się!




Jeszcze bez komentarzy

Zbiór przydatnych informacji o systemie operacyjnym Linux i nowych technologiach
Świeże artykuły, praktyczne wskazówki, szczegółowe recenzje i poradniki. Poczuj się jak w domu w świecie systemu operacyjnego Linux