Jak zainstalować i skonfigurować serwer FTP z VSFTPD na Ubuntu?
Serwery FTP (File Transfer Protocol) są popularnym narzędziem do przesyłania plików między komputerami. Jednym z najczęściej używanych serwerów FTP na systemie Ubuntu jest VSFTPD (Very Secure FTP Daemon), który charakteryzuje się wysokim poziomem bezpieczeństwa, prostotą konfiguracji oraz wydajnością. W tym artykule przedstawimy szczegółowy proces instalacji i konfiguracji serwera FTP z VSFTPD na Ubuntu.
Co to jest VSFTPD?
VSFTPD to darmowy i otwarty serwer FTP zaprojektowany z myślą o bezpieczeństwie i stabilności. Obsługuje różne tryby działania, takie jak anonimowy dostęp FTP, użytkownicy lokalni oraz połączenia szyfrowane za pomocą TLS/SSL.
Wymagania wstępne
- System operacyjny: Ubuntu 20.04 LTS lub Ubuntu 22.04 LTS.
- Uprawnienia: Konto z uprawnieniami sudo.
- Łącze internetowe: Stabilne połączenie internetowe do pobrania pakietów.

Krok 1: Instalacja VSFTPD
1. Aktualizacja systemu
Zanim zainstalujesz VSFTPD, upewnij się, że Twój system jest zaktualizowany:
sudo apt update
sudo apt upgrade -y
2. Instalacja VSFTPD
Zainstaluj pakiet VSFTPD za pomocą menedżera pakietów APT:
sudo apt install vsftpd -y
3. Sprawdzenie statusu usługi
Po instalacji upewnij się, że serwer działa:
sudo systemctl status vsftpd
Jeśli usługa nie jest aktywna, możesz ją uruchomić poleceniem:
sudo systemctl start vsftpd
Krok 2: Podstawowa konfiguracja VSFTPD
1. Kopia zapasowa pliku konfiguracyjnego
Zanim wprowadzisz jakiekolwiek zmiany, wykonaj kopię zapasową domyślnego pliku konfiguracyjnego:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak
2. Edycja pliku konfiguracyjnego
Otwórz plik konfiguracyjny za pomocą dowolnego edytora tekstu, np. nano:
sudo nano /etc/vsftpd.conf
Wprowadź następujące zmiany:
- Zezwól na logowanie użytkowników lokalnych: Znajdź linię:
#local_enable=YES
Usuń znak
#
, aby odkomentować:local_enable=YES
- Zezwól na przesyłanie plików: Znajdź linię:
#write_enable=YES
Usuń znak
#
:write_enable=YES
- Ogranicz użytkowników do ich katalogów domowych: Znajdź linię:
#chroot_local_user=YES
Usuń znak
#
:chroot_local_user=YES
- Zezwól na anonimowy dostęp (opcjonalne): Jeśli chcesz zezwolić na anonimowy dostęp, upewnij się, że linia:
anonymous_enable=NO
jest ustawiona na
YES
:anonymous_enable=YES
3. Zapisanie zmian
Po wprowadzeniu zmian zapisz plik i zamknij edytor (Ctrl + O, Enter, Ctrl + X).
Krok 3: Utworzenie użytkowników FTP
1. Dodanie nowego użytkownika
Utwórz nowego użytkownika FTP:
sudo adduser nazwa_użytkownika
Podczas tworzenia użytkownika zostaniesz poproszony o ustawienie hasła.
2. Ograniczenie dostępu do katalogu domowego
Upewnij się, że użytkownik jest ograniczony do swojego katalogu domowego:
sudo usermod -d /home/nazwa_użytkownika nazwa_użytkownika
Krok 4: Konfiguracja SSL/TLS (opcjonalne, ale zalecane)
Aby zwiększyć bezpieczeństwo serwera FTP, możesz skonfigurować szyfrowanie za pomocą SSL/TLS.
1. Generowanie certyfikatu SSL
Wygeneruj samodzielnie podpisany certyfikat SSL:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.key -out /etc/ssl/private/vsftpd.crt
Podczas generowania certyfikatu podaj odpowiednie dane, takie jak nazwa domeny i lokalizacja.
2. Konfiguracja VSFTPD do używania SSL
Otwórz plik konfiguracyjny:
sudo nano /etc/vsftpd.conf
Dodaj lub zmodyfikuj następujące linie:
ssl_enable=YES
rsa_cert_file=/etc/ssl/private/vsftpd.crt
rsa_private_key_file=/etc/ssl/private/vsftpd.key
3. Restartowanie usługi
Po zapisaniu zmian uruchom ponownie VSFTPD:
sudo systemctl restart vsftpd
Krok 5: Testowanie serwera FTP
Aby przetestować serwer FTP:
- Użyj klienta FTP, np. FileZilla lub innego narzędzia obsługującego FTP.
- Połącz się z serwerem używając jego adresu IP, nazwy użytkownika i hasła.
- Upewnij się, że możesz przesyłać pliki i przeglądać katalogi.
Dodatkowe wskazówki
- Zabezpieczenie serwera:
- Skonfiguruj zaporę UFW, aby zezwolić tylko na wymagane porty:
sudo ufw allow 20:21/tcp sudo ufw allow 40000:50000/tcp sudo ufw enable
- Wyłącz anonimowy dostęp, jeśli nie jest potrzebny:
anonymous_enable=NO
- Skonfiguruj zaporę UFW, aby zezwolić tylko na wymagane porty:
- Skalowalność: Jeśli obsługujesz wielu użytkowników, możesz stworzyć dedykowane grupy i przydzielić odpowiednie uprawnienia.
Podsumowanie
Serwer FTP z VSFTPD na Ubuntu to prosty i bezpieczny sposób na zarządzanie transferem plików. Dzięki powyższemu poradnikowi możesz skonfigurować własny serwer, dostosować go do swoich potrzeb i zapewnić jego bezpieczeństwo. VSFTPD to idealne rozwiązanie zarówno dla małych, jak i dużych środowisk, które wymagają szybkiego i niezawodnego dostępu do plików.