ProFTPD – instalacja i konfiguracja serwera FTP na Debianie

W dzisiejszym artykule przedstawię, jak krok po kroku „postawić” na swoim VPS serwer FTP z wykorzystaniem bardzo popularnego i często polecanego pakietu ProFTPD. Przedstawię również kilka podstawowych punktów, które pomogą zdiagnozować przyczynę potencjalnych problemów z połączeniem do serwera. Jeśli kiedykolwiek instalacja FTP przysporzyła Ci zmartwień i siwych włosów, a SFTP nie spełnia Twoich wymagań, ten artykuł może okazać się przydatny przy nadarzającej się okazji.

 

1. Instalacja

Używamy apt-get, aby wyszukać i zainstalować pakiet proftpd:

apt-get install proftpd

Instalacja rozpoczyna się. Na starcie dokonujemy wyboru pomiędzy uruchamianiem ProFTPD z serwera inetd albo jako standalone. Polecam w tym miejscu wybrać opcję standalone. Po chwili serwer jest już zainstalowany. Pierwszy krok wykonany.

 

2. Konfiguracja

Otwieramy plik konfiguracyjny ProFTPD używając prostego edytora tekstowego, np. nano:

nano /etc/proftpd/proftpd.conf

Znajdziemy w nim kilka pozycji, które warto ustawić według własnych potrzeb:

ServerName          "Serwer FTP" #nazwa serwera

DisplayLogin        welcome.msg  #nazwa pliku z tekstem powitalnym

DefaultRoot         ~            #katalog główny dla łączących się użytkowników
                                 #powoduje zamknięcie użytkowników w ich katalogach domowych
                                 #(tzw. jail)
                                 #zakomentuj, aby usunąć to ograniczenie

RequireValidShell   off          #wymaga, aby użytkownicy posiadali poprawny shell

Port                21           #domyślny port FTP, można zmienić dla bezpieczeństwa

User                proftpd      #domyślny użytkownik (i grupa), który jest wykorzystywany
Group               nogroup      #do uruchamiania serwera

To oczywiście nie wszystkie dostępne ustawienia serwera – wybrałem jedynie te najważniejsze.

Gotowe. W tym momencie serwer FTP może już przyjmować połączenia.

 

Co jeśli nie mogę się połączyć?

Tak może się zdarzyć, szczególnie gdy próbujesz zalogować się jako root (odradzam wykorzystywanie konta root do realizacji połączeń FTP). Znajduje się on bowiem w pliku /etc/ftpusers, który zawiera listę użytkowników, którym odebrano prawo do używania połączenia FTP. Przy próbie połączenia wystąpi błąd 530 Login incorrect. Jeśli nie możesz połączyć się do serwera, upewnij się, że wykorzystywany użytkownik nie znajduje się w pliku /etc/ftpusers.

Warto również sprawdzić, czy użytkownik posiada prawidłowy shell, np. /bin/bash. Jest to istotne w sytuacji, gdy w konfiguracji serwera opcja RequireValidShell jest ustawiona na „on”. Zmianę shella można przeprowadzić za pomocą polecenia:

chsh -s /bin/bash nazwausera

gdzie /bin/bash można zastąpić dowolną powłoką systemową.

Może się również zdarzyć, że połączenie nie może zostać zrealizowane, ponieważ ustawiony został niestandardowy port do połączeń FTP. Sprawdzenie tej opcji konfiguracyjnej (o ile to możliwe) pozwoli zaoszczędzić czas na poszukiwaniach przyczyny problemu.