Skonfiguruj serwer FTP w systemie Linux
File Transfer Protocol (FTP) to powszechnie używany protokół sieciowy, używany do przesyłania plików między dwoma komputerami. Protokół oparty jest na architekturze klient-serwer. Jeden z komputerów uruchamia program serwera FTP, podczas gdy drugi komputer uruchamia program klienta FTP, który może pobierać lub przesyłać pliki na komputer serwera na podstawie uprawnień.
Zwykle użytkownicy uzyskujący dostęp do serwera FTP muszą uwierzytelniać się za pomocą nazwy użytkownika i hasła, jednak serwer można również skonfigurować tak, aby zezwalał na dostęp użytkownikom anonimowym.
Prawie wszystkie popularne systemy operacyjne, takie jak Windows, GNU/Linux, Mac OS, mają serwer FTP i dostępne programy klienckie. W tym artykule zobaczymy, jak skonfigurować serwer FTP w systemie Ubuntu.
Instalacja
W Ubuntu program vsftpd
, co oznacza Bardzo bezpieczny demon FTP to popularny program serwera FTP, który można uruchomić jako demon, tj. jako proces w tle, jak większość serwerów.
Ten program jest dostępny w standardowym repozytorium Ubuntu. Aby go zainstalować, uruchom:
sudo apt install vsftpd
Notatka: W przypadku wersji Ubuntu < 14.04 użyj apt-get
zamiast trafny
.
Po instalacji vsftpd
demon powinien uruchomić się automatycznie. Aby sprawdzić, czy uruchomiło się poprawnie, uruchom:
stan usługi vsftpd
Jeśli status nie jest Aktywny
, tzn. nie uruchomił się poprawnie, uruchom następujące polecenie, aby go uruchomić, i ponownie sprawdź stan po uruchomieniu, aby sprawdzić, czy jest teraz Aktywny
.
usługa sudo vsftpd start
Konfiguracja
Plik konfiguracyjny dla vsftpd
jest /etc/vsftpd.conf
. Dostępnych jest wiele opcji konfiguracyjnych. Zmienimy dwie opcje, które są powszechnie wymagane.
Otwórz plik za pomocą vima lub dowolnego wybranego edytora.
sudo vim /etc/vsftpd.conf
Domyślnie anonimowy dostęp do serwera FTP nie jest dozwolony. Aby umożliwić anonimowy dostęp, zmieniamy zmienną anonimowy_włącz
z NIE
do TAK
w pliku.
Aby uzyskać dostęp anonimowy, użytkownik o nazwie ftp
jest tworzony podczas instalacji. Domyślnym katalogiem dostępu do anonimowego użytkownika jest /srv/ftp
, który w rzeczywistości jest katalogiem domowym użytkownika ftp
. Tutaj należy skopiować wszystkie pliki, które mają być udostępnione anonimowym użytkownikom.
Jeśli katalog anonimowego dostępu ma zostać zmieniony, musimy zmienić katalog domowy użytkownika ftp
. Aby to zrobić, uruchom:
sudo usermod -d ftp
Podobnie, domyślnie dostęp do zapisu, tj. dostęp do przesyłania, do serwera FTP nie jest dozwolony. Aby to włączyć, odkomentuj wiersz ze zmienną write_enable=TAK
.
Zapisz i wyjdź z pliku. Jeśli używasz vima, naciśnij Ucieczka
aby przejść do trybu poleceń vima, a następnie wpisz :wq
i naciśnij Wchodzić
aby zapisać i wyjść z pliku.
Aby zmiany zaczęły obowiązywać, musimy zrestartować demona serwera FTP. Aby go ponownie uruchomić, uruchom:
usługa sudo restart vsftpd
Testowanie serwera
Większość nowoczesnych przeglądarek internetowych ma wbudowaną obsługę dostępu do serwerów FTP, tj. mogą działać jako zintegrowani klienci FTP. Obsługują one jednak tylko pobieranie plików z serwera, a nie przesyłanie.
Pobierz test
Wchodzić ftp://
w pasku adresu przeglądarki, aby uzyskać dostęp do serwera FTP, gdzie to adres IP lub nazwa domeny serwera FTP. Aby przetestować lokalny serwer FTP, wpisz
ftp:://127.0.0.1
Zauważ, że odkąd włączono dostęp anonimowy, serwer pokazuje nam listę katalogów folderu, w którym włączyliśmy dostęp anonimowy, a mianowicie. /srv/pliki/ftp
.
Zmieńmy plik konfiguracyjny, aby teraz wyłączyć anonimowy dostęp i przetestujmy dostęp za pomocą logowania użytkownika.
sudo vim /etc/vsftpd.conf
Zmień zmienną anonimowy_włącz
do NIE
.
Zapisz i wyjdź z pliku. Zrestartuj serwer FTP, aby zmiany zostały wprowadzone.
usługa sudo restart vsftpd
Otwórz ponownie ten sam adres URL w przeglądarce (ftp://127.0.0.1
).
Jak widzimy, serwer prosi nas teraz o podanie nazwy użytkownika i hasła. Wprowadź dane uwierzytelniające i naciśnij ok
.
Teraz lista katalogów dotyczy katalogu domowego zalogowanego użytkownika. W tym przypadku jest to /dom/abhi
.
Prześlij test
Przeglądarki internetowe pozwalają tylko na pobieranie plików z serwerów FTP. Aby przesłać pliki na serwer FTP, uzyskujemy dostęp do serwera z eksploratora plików.
W Ubuntu użyjemy domyślnego eksploratora plików, Nautilusa. Otwórz Nautilusa, klikając ikonę w doku lub wyszukaj go w Dash i otwórz.
Kliknij Inne lokalizacje
na samym dole.
Na samym dole wpisz adres URL naszego serwera FTP (ftp:://127.0.0.1
) w polu wprowadzania Połącz z serwerem i naciśnij przycisk „Połącz”.
Zaznacz pole wyboru „Zarejestrowany użytkownik” i wprowadź nazwę użytkownika oraz hasło. Możesz wybrać jedną z trzech opcji zapamiętania hasła wprowadzonego powyżej. Na koniec naciśnij przycisk „Połącz” u góry okna.
Teraz możemy łatwo skopiować lub utworzyć plik na serwerze FTP w zwykły sposób, jaki robimy w eksploratorze plików. Serwer FTP pojawi się po lewej stronie, jak pokazano poniżej.
nuwaga: Nawet jeśli vsftpd
może być skonfigurowany do zapisu dla anonimowych użytkowników, jest to ogromne zagrożenie bezpieczeństwa dla systemu i nigdy nie może być używany! Przesyłanie na serwer FTP musi być włączone tylko dla użytkowników systemu.
Wniosek
W ten sposób możemy skonfigurować serwer FTP na Ubuntu. Upewnij się, że próbujesz uzyskać dostęp do tego z innego systemu w Twojej sieci, w takim przypadku będziesz musiał wejść ftp://Twój_adres_IP
zamiast ftp://127.0.0.1
w przeglądarce innego systemu.
Należy zauważyć, że większość programów serwera FTP jest zabezpieczona w celu szyfrowania przesyłanej zawartości za pomocą protokołu SSL/TLS (nazywanego FTPS) lub za pomocą protokołu SSH FTP. vsftpd
wykorzystuje FTPS w swojej implementacji.