Podstawowy serwer FTP (vsftpd) – prosta i szybka konfiguracja
Linux

Podstawowy serwer FTP (vsftpd) – prosta i szybka konfiguracja

Podstawowy serwer FTP (vsftpd) – prosta i szybka konfiguracja

Serwer FTP (File Transfer Protocol) to jedno z najprostszych rozwiązań do udostępniania plików w sieci. Jednym z najczęściej używanych serwerów FTP w systemach Linux, w tym Debian i Ubuntu, jest vsftpd (Very Secure FTP Daemon). Jest to lekka, szybka i łatwa w konfiguracji usługa, idealna dla podstawowych zastosowań związanych z wymianą plików. W tym artykule przedstawimy, jak skonfigurować podstawowy serwer FTP przy użyciu vsftpd oraz jak go zabezpieczyć.


1. Co to jest vsftpd?

vsftpd (Very Secure FTP Daemon) to jeden z najbezpieczniejszych i najszybszych serwerów FTP dla systemów Linux. Charakteryzuje się:

Szybką i lekką konfiguracją – zajmuje niewiele zasobów systemowych.
Łatwością w obsłudze – minimalna liczba zależności i prostota wdrożenia.
Brakiem domyślnego szyfrowania – vsftpd w podstawowej konfiguracji obsługuje nieszyfrowane połączenia FTP.

Ze względu na brak szyfrowania, podstawowa konfiguracja vsftpd sprawdzi się głównie w sieciach lokalnych, gdzie bezpieczeństwo nie jest kluczowym problemem.

Podstawowy serwer FTP (vsftpd) – prosta i szybka konfiguracja
Podstawowy serwer FTP (vsftpd) – prosta i szybka konfiguracja

2. Instalacja vsftpd w systemie Linux

Instalacja vsftpd jest bardzo prosta i możliwa w większości systemów Linux. Wykonaj następujące kroki:

Czytaj  Jak skonfigurować serwer SFTP (SSH File Transfer Protocol) w Linux

a) Instalacja w systemach Debian i Ubuntu

sudo apt update
sudo apt install vsftpd -y

b) Instalacja w systemach CentOS i RHEL

sudo dnf install vsftpd -y

c) Instalacja w systemie Arch Linux

sudo pacman -S vsftpd

Po zakończeniu instalacji warto sprawdzić, czy usługa vsftpd działa:

sudo systemctl status vsftpd

Jeśli nie działa, można ją uruchomić:

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

3. Konfiguracja podstawowego serwera FTP

Plik konfiguracyjny vsftpd znajduje się w katalogu:
/etc/vsftpd.conf

Edytujemy go, np. za pomocą nano:

sudo nano /etc/vsftpd.conf

Wprowadzamy podstawowe zmiany:

a) Włączenie dostępu anonimowego (opcjonalnie)

Jeśli chcemy, aby użytkownicy anonimowi mogli pobierać pliki z serwera:

anonymous_enable=YES

UWAGA: Anonimowy dostęp nie wymaga logowania i może stanowić zagrożenie!

b) Zezwolenie na logowanie użytkowników systemowych

Jeśli chcemy, aby użytkownicy systemowi mogli korzystać z FTP:

local_enable=YES
write_enable=YES

Dzięki temu użytkownicy mogą przesyłać pliki na serwer.

c) Ustawienie katalogu domyślnego dla użytkownika FTP

Aby użytkownicy FTP byli ograniczeni do własnych katalogów domowych:

chroot_local_user=YES
allow_writeable_chroot=YES

d) Ustawienia portów i maksymalnej liczby połączeń

pasv_min_port=40000
pasv_max_port=50000
max_clients=10
max_per_ip=5

Po wprowadzeniu zmian zapisujemy plik i restartujemy serwer:

sudo systemctl restart vsftpd

4. Tworzenie użytkownika FTP

Tworzymy nowego użytkownika, np. ftpuser, który będzie miał dostęp do serwera FTP:

sudo adduser ftpuser
sudo passwd ftpuser

Nadajemy uprawnienia do katalogu domowego:

sudo chmod 750 /home/ftpuser
sudo chown ftpuser:ftpuser /home/ftpuser

Teraz użytkownik ftpuser może logować się do serwera FTP.


5. Testowanie serwera FTP

Serwer FTP można przetestować za pomocą dowolnego klienta FTP, np.:

  • Linux/macOS:
    ftp localhost
    
  • Windows:
    Można użyć FileZilla, wpisując:

    • Host: ftp://adres_ip_serwera
    • Użytkownik: ftpuser
    • Hasło: hasło_ustawione_dla_ftpuser

Jeśli połączenie się powiedzie, oznacza to, że serwer działa poprawnie.


6. Zabezpieczenie serwera FTP

Podstawowa konfiguracja vsftpd nie zapewnia szyfrowania, co oznacza, że dane przesyłane są w formie otwartego tekstu. Oto kilka sposobów na zwiększenie bezpieczeństwa:

Czytaj  Dlaczego karta sieciowa nie wykrywa sieci w systemie Linux?

a) Wyłączenie logowania anonimowego

Jeśli nie chcemy, aby użytkownicy anonimowi mieli dostęp do serwera:

anonymous_enable=NO

b) Ograniczenie dostępu tylko do wskazanych użytkowników

Dodajemy plik user_list, w którym wpisujemy dozwolonych użytkowników:

sudo nano /etc/vsftpd.user_list

Wpisujemy np.:

ftpuser

Następnie w pliku konfiguracyjnym ustawiamy:

userlist_enable=YES
userlist_file=/etc/vsftpd.user_list
userlist_deny=NO

c) Ograniczenie dostępu do określonego katalogu

Tworzymy katalog FTP w /srv/ftp i ustawiamy uprawnienia:

sudo mkdir -p /srv/ftp
sudo chown ftpuser:ftpuser /srv/ftp

W pliku vsftpd.conf ustawiamy katalog domyślny:

local_root=/srv/ftp

7. Alternatywa: FTP przez SFTP

Jeśli chcesz szyfrowane połączenia, zamiast klasycznego FTP lepiej użyć SFTP (SSH File Transfer Protocol), który działa przez SSH i jest znacznie bezpieczniejszy:

sftp ftpuser@adres_ip

Podsumowanie

Serwer vsftpd to lekkie i proste rozwiązanie do podstawowego udostępniania plików przez FTP. Jego konfiguracja zajmuje kilka minut i może być użyteczna w lokalnych sieciach. Należy jednak pamiętać, że brak szyfrowania w podstawowej konfiguracji sprawia, że vsftpd nie nadaje się do przesyłania wrażliwych danych. W przypadku większych wymagań warto rozważyć użycie SFTP zamiast klasycznego FTP.

Polecane wpisy
Jak Wybrać Distro Linuxa Dla Siebie: Poradnik dla Nowicjuszy
Jak Wybrać Distro Linuxa Dla Siebie: Poradnik dla Nowicjuszy

Systemy operacyjne oparte na jądrze Linuxa cieszą się ogromną popularnością wśród użytkowników na całym świecie. Jednak dla nowicjuszy może być Czytaj dalej

Jak stworzyć prywatny dysk wirtualny w chmurze za pomocą Nextcloud na Ubuntu
Jak stworzyć prywatny dysk wirtualny w chmurze za pomocą Nextcloud na Ubuntu

Jak stworzyć prywatny dysk wirtualny w chmurze za pomocą Nextcloud na Ubuntu – Kompletny Przewodnik W dzisiejszych czasach dostęp do Czytaj dalej