- 1 1. Wstęp
- 2 2. Instalacja vsftpd
- 3 3. Podstawowa konfiguracja
- 4 4. Wzmocnienie bezpieczeństwa
- 5 5. Obsługa japońskich nazw plików
- 6 6. Tryb pasywny i konfiguracja zapory
- 7 7. Konfiguracja per‑użytkownikowa
- 8 8. Potwierdzenie działania
- 9 9. Rozwiązywanie problemów
1. Wstęp
Konfigurowanie serwera FTP na Ubuntu to bardzo praktyczne podejście dla programistów i administratorów, którzy potrzebują efektywnego wysyłania i odbierania plików. Szczególnie gdy celem jest budowa domowego serwera lub prostego środowiska do udostępniania plików w firmie, FTP (File Transfer Protocol) wyróżnia się jako prosta i łatwa do wdrożenia opcja.
Czym jest serwer FTP?
Serwer FTP to dedykowane oprogramowanie serwerowe zaprojektowane do przesyłania i odbierania plików przez internet lub sieć lokalną. Użytkownicy mogą połączyć się z serwerem za pomocą oprogramowania klienta FTP, aby przesyłać i pobierać pliki.
Chociaż bezpieczne alternatywy, takie jak SFTP i SCP, zyskały popularność w niektórych obszarach, FTP pozostaje preferowanym wyborem dla wielu aplikacji ze względu na swoją prostotę i lekką naturę. Kontynuuje bycie wysoce praktycznym protokołem, zwłaszcza do użytku w ograniczonych sieciach lub do podstawowych zadań.
Rola serwera FTP w Ubuntu
Ubuntu to dystrybucja Linuksa lubiana przez wielu użytkowników i szeroko stosowana do celów serwerowych. Poprzez budowanie serwera FTP w środowisku Ubuntu, udostępnianie plików między wieloma urządzeniami i użytkownikami staje się łatwe.
Jest to szczególnie skuteczne w przypadkach takich jak:
- Przesyłanie plików na serwery WWW
- Integracja z urządzeniami IoT, takimi jak Raspberry Pi
- Udostępnianie wewnętrznych dokumentów
W ten sposób połączenie Ubuntu i serwera FTP umożliwia elastyczne i efektywne zarządzanie plikami.
Cel i grupa docelowa tego artykułu
Ten artykuł wyjaśni, jak skonfigurować serwer FTP na Ubuntu, podając łatwe do zrozumienia instrukcje krok po kroku dla początkujących. Jest skierowany specjalnie do czytelników, którzy:
- Znają podstawowe operacje Ubuntu, ale są nowi w FTP.
- Chcą zbudować serwer FTP do użytku lokalnego lub prostego biznesowego.
- Chcą również dowiedzieć się o ważnych kwestiach, takich jak bezpieczeństwo i problemy z japońskimi nazwami plików z znakami specjalnymi.
Postępując zgodnie z krokami wprowadzonymi tutaj w kolejności, będziesz w stanie zbudować bezpieczne i praktyczne środowisko serwera FTP. W następnej sekcji rozpoczniemy od wyjaśnienia, jak zainstalować „vsftpd”, szczególnie popularny serwer FTP.
2. Instalacja vsftpd
Podczas budowania serwera FTP na Ubuntu najczęściej używanym oprogramowaniem jest vsftpd (Very Secure FTP Daemon). Jak sugeruje jego nazwa, jest to serwer FTP z filozofią projektowania „bardzo bezpieczną”. Jest lekki i stabilny, co czyni go szeroko stosowanym w środowiskach korporacyjnych i edukacyjnych.
Ta sekcja wyjaśnia kroki instalacji vsftpd na Ubuntu oraz konfigurację uruchamiania usługi i automatycznego startu.
Instalacja vsftpd
Najpierw użyj systemu zarządzania pakietami Ubuntu (APT), aby zainstalować vsftpd. Proszę wykonać następujące kroki w kolejności:
sudo apt update
sudo apt install vsftpd
sudo apt update: Aktualizuje informacje o pakietach do najnowszej wersji.sudo apt install vsftpd: Instaluje pakiet vsftpd.
Po zakończeniu instalacji vsftpd uruchomi się automatycznie.
Sprawdzanie statusu usługi
Aby zweryfikować, czy vsftpd został poprawnie zainstalowany i działa, użyj następującego polecenia:
sudo systemctl status vsftpd
Jeśli to polecenie wyświetli „active (running)”, serwer FTP działa normalnie.
Sprawdzanie i włączanie automatycznego startu
vsftpd jest zazwyczaj skonfigurowany do automatycznego startu zaraz po instalacji, ale warto to podwójnie sprawdzić.
sudo systemctl enable vsftpd
Wykonanie tego polecenia zapewnia, że vsftpd uruchomi się automatycznie przy kolejnych restartach systemu.
Nie zapomnij skonfigurować zapory ogniowej (UFW)
Jeśli masz włączoną UFW (Uncomplicated Firewall) na swoim systemie Ubuntu, musisz otworzyć porty FTP.
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
To umożliwia zewnętrzny dostęp do standardowych portów FTP: port 20 (dane) i port 21 (komendy).
Po skonfigurowaniu, przeładuj UFW, aby zastosować zmiany.
sudo ufw reload
3. Podstawowa konfiguracja
Po zainstalowaniu vsftpd następnym krokiem jest dostosowanie zachowania serwera FTP do swoich potrzeb poprzez edycję pliku konfiguracyjnego. Chociaż plik konfiguracyjny vsftpd pozwala na bardzo szczegółową kontrolę, w swoim początkowym stanie ma wiele ograniczeń, dlatego musisz jawnie włączyć niezbędne funkcje.
Ta sekcja wyjaśnia typowe podstawowe elementy konfiguracji.
Lokalizacja pliku konfiguracyjnego
Główny plik konfiguracyjny dla vsftpd znajduje się w:
/etc/vsftpd.conf
Aby wprowadzić zmiany w konfiguracji, edytuj plik w następujący sposób:
sudo nano /etc/vsftpd.conf
Po wprowadzeniu zmian musisz zrestartować usługę vsftpd.
sudo systemctl restart vsftpd
Zezwalanie na dostęp do zapisu (dla przesyłania plików itp.)
W domyślnej konfiguracji vsftpd przesyłanie plików i modyfikacje na serwerze FTP nie są dozwolone. Aby zezwolić na dostęp do zapisu, włącz następującą linię:
write_enable=YES
To ustawienie pozwala użytkownikom na przesyłanie, usuwanie i modyfikowanie plików w swoich katalogach domowych.
Zezwalanie na logowanie lokalnych użytkowników
Aby zezwolić na logowanie FTP za pomocą kont użytkowników Ubuntu, wymagane jest następujące ustawienie:
local_enable=YES
Dzięki temu ustawieniu lokalni użytkownicy (użytkownicy systemowi) zarejestrowani w /etc/passwd będą mogli logować się przez FTP.
Włączanie pobierania listy katalogów
Jeśli klient FTP nie może pobrać listy plików i katalogów, sprawdź następujące ustawienia:
listen=YES
listen_ipv6=NO
Zwłaszcza w środowiskach, w których IPv6 jest wyłączone, ustawienie listen_ipv6=YES może powodować problemy z połączeniem.
Ustawianie baneru logowania (opcjonalnie)
Możesz również ustawić komunikat (baner), który jest wyświetlany podczas łączenia się z serwerem FTP.
ftpd_banner=Welcome to your custom Ubuntu FTP server!
Może to być przydatne w kontekście biznesowym, aby przekazać użytkownikom informacje kontaktowe lub ważne powiadomienia.
Zezwalanie na transfer w trybie ASCII (jeśli konieczne)
Jeśli potrzebujesz poprawnie przesyłać określone pliki tekstowe (np. skrypty zawierające zakończenia linii Windows), skonfiguruj następujące:
ascii_upload_enable=YES
ascii_download_enable=YES
Zwykle transfer binarny jest wystarczający, ale rozważ włączenie tego w zależności od środowiska.
W ten sposób podstawowa konfiguracja vsftpd charakteryzuje się jawne określaniem „co jest dozwolone”. Po edycji pliku konfiguracyjnego upewnij się, że zrestartowałeś usługę vsftpd, aby zastosować zmiany.
Następna sekcja zgłębi bardziej zaawansowane ustawienia bezpieczeństwa. Środki bezpieczeństwa są niezbędne, zwłaszcza podczas uruchamiania serwera FTP w publicznej sieci.
4. Wzmocnienie bezpieczeństwa
Chociaż FTP to wygodny protokół, jego cecha przesyłania danych bez szyfrowania budzi obawy bezpieczeństwa. Szczególnie podczas działania w internecie niezbędne są solidne ustawienia bezpieczeństwa.
Ta sekcja wprowadza typowe środki bezpieczeństwa, które można wdrożyć za pomocą vsftpd.
Ograniczanie zakresu dostępu użytkowników za pomocą chroot
Zezwolenie użytkownikom FTP na dostęp do katalogów innych niż ich własne jest wysoce ryzykowne. Dlatego kluczowe jest skonfigurowanie chroot, które ogranicza każdego użytkownika do jego katalogu domowego.
Włącz następujące dwa ustawienia:
chroot_local_user=YES
allow_writeable_chroot=YES
chroot_local_user=YESuniemożliwia lokalnym użytkownikom nawigację powyżej ich katalogu domowego.allow_writeable_chroot=YESto ustawienie, które łagodzi ograniczenia bezpieczeństwa vsftpd i jest konieczne, gdy katalog domowy ma uprawnienia do zapisu.
* Bez tego napotkasz błąd „500 OOPS: vsftpd: refusing to run with writable root inside chroot”.
Ograniczanie dostępnych użytkowników
Zezwolenie wszystkim lokalnym użytkownikom na logowanie do FTP może prowadzić do nieoczekiwanych wycieków informacji. Dlatego kontroluj użytkowników dostępnych dla FTP za pomocą podejścia białej listy.
Najpierw dodaj następujące ustawienia do vsftpd.conf:
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
Następnie, w pliku /etc/vsftpd.userlist wymień użytkowników, których chcesz zezwolić na logowanie, po jednym na linię.
sudo nano /etc/vsftpd.userlist
(Przykład)
ftpuser1
ftpuser2
Przy tej konfiguracji tylko wyraźnie wymienieni użytkownicy będą mogli się logować.
Implementacja szyfrowanej komunikacji przy użyciu FTPS (SSL/TLS)
Standardowy FTP przesyła dane w postaci czystego tekstu, co stwarza ryzyko podsłuchiwania identyfikatorów, haseł i danych. Aby tego uniknąć, użyj FTPS (FTP over SSL/TLS), aby zaszyfrować komunikację.
Najpierw utwórz certyfikat SSL (lub użyj istniejącego).
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem
Następnie dodaj następujące ustawienie do vsftpd.conf:
ssl_enable=YES
rsa_cert_file=/etc/ssl/private/vsftpd.pem
rsa_private_key_file=/etc/ssl/private/vsftpd.pem
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=NO
ssl_sslv3=NO
Teraz możesz połączyć się używając „FTPS (Explicit SSL)” po stronie klienta FTP.
Wyłączanie niepotrzebnych funkcji
Aby zwiększyć bezpieczeństwo, ważne jest również aktywnie wyłączanie funkcji, które nie są używane.
Przykład:
anonymous_enable=NO
To wyłącza logowanie anonimowych użytkowników (jest domyślnie wyłączone, ale jawne ustawienie zapewnia dodatkowe bezpieczeństwo).
Dzięki tym ustawieniom serwer FTP vsftpd na Ubuntu będzie miał podstawowe środki bezpieczeństwa.
Szczególnie przy użyciu przez Internet implementacja FTPS jest niezbędna.
Następny rozdział wyjaśni szczegółowo, jak radzić sobie z zniekształconymi japońskimi nazwami plików. To często pomijany aspekt pracy z FTP, ale kluczowy dla zapobiegania problemom.
5. Obsługa japońskich nazw plików
Podczas wysyłania i odbierania plików przy użyciu FTP możesz napotkać problem zniekształconych japońskich nazw plików. Dzieje się to szczególnie często przy wymianie plików między Windows a Ubuntu za pośrednictwem FTP, gdzie niezgodności kodowań mogą prowadzić do „???” lub nieczytelnych ciągów znaków.
Ten rozdział przedstawia środki zapobiegające zniekształceniu japońskich nazw plików w vsftpd.
Główne przyczyny zniekształconych znaków
Zniekształcone japońskie nazwy plików pojawiają się głównie z powodu trzech czynników:
- Ustawienie lokalizacji Ubuntu nie jest UTF‑8.
- Ustawienie kodowania w kliencie FTP jest nieprawidłowe.
- vsftpd nie działa z obsługą UTF‑8.
Ważne jest, aby sprawdzić i dostosować je w tej kolejności.
Sprawdzanie i ustawianie lokalizacji Ubuntu
Najpierw potwierdź, że kodowanie znaków po stronie Ubuntu jest UTF‑8. Wyświetl bieżącą lokalizację, używając następującego polecenia:
locale
Przykładowe wyjście:
LANG=ja_JP.UTF-8
Jeśli LANG lub LC_ALL nie jest ustawione na UTF-8, zmień i ponownie skonfiguruj je w następujący sposób:
sudo update-locale LANG=ja_JP.UTF-8
source /etc/default/locale
W razie potrzeby wygeneruj także lokalizację:
sudo locale-gen ja_JP.UTF-8
Spowoduje to ujednolicenie przetwarzania nazw plików w serwerze do UTF‑8.
Sprawdzanie ustawienia UTF‑8 w vsftpd
vsftpd obsługuje UTF‑8 domyślnie, ale warto potwierdzić następujące ustawienie na wszelki wypadek:
utf8_filesystem=YES
Nawet jeśli ten element nie istnieje, nie powinno być większych problemów, o ile system działa w UTF‑8. Jednak w niektórych wersjach vsftpd ten element może nie być obsługiwany.
Ustawienia klienta FTP (przykład FileZilla)
Ustawienia klienta FTP są również niezwykle ważne. Na przykład przy łączeniu się za pomocą FileZilla skonfiguruj je w następujący sposób:
- Otwórz Menedżer Stron.
- Otwórz ustawienia swojego połączenia.
- Wybierz zakładkę „Charset”.
- Wybierz „Użyj własnego zestawu znaków” i wpisz
UTF-8.
To ustawienie pozwala klientowi prawidłowo interpretować nazwy plików serwera jako UTF‑8, zapobiegając zniekształceniom znaków.
Uwaga dotycząca przesyłania z innych systemów operacyjnych
Podczas przesyłania plików utworzonych w Windows itp., jeśli system używa innego kodowania znaków, takiego jak Shift_JIS, nazwa pliku może ulec uszkodzeniu w momencie uploadu.
W takich przypadkach bezpieczniej jest najpierw przekonwertować nazwę pliku na UTF‑8 przed wysłaniem. Można użyć narzędzi takich jak convmv w wierszu poleceń.
Podsumowanie
Kiedy obsługujesz japońskie nazwy plików za pomocą FTP, kluczowe jest, aby kodowanie znaków na serwerze i kliencie było zgodne. W Ubuntu ustawienie UTF‑8 jako standardu oraz jawne określenie UTF‑8 po stronie klienta FTP może zapobiec większości problemów z zniekształceniem znaków.
Następny rozdział wyjaśni tryb pasywny i ustawienia zapory. Są to ważne konfiguracje, które pomagają uniknąć problemów z połączeniami, szczególnie przy używaniu FTP przez router lub w środowisku chmurowym.
6. Tryb pasywny i konfiguracja zapory
Jednym z częstych problemów przy uruchamianiu serwera FTP w Interne lub w środowisku NAT (za routerem) jest zjawisko „połączenie udane, ale nie można pobrać listy plików” lub „transfer danych nie powiódł się”.
Wiele z tych problemów wynika z nieprawidłowego trybu operacji FTP (aktywny/pasywny) oraz ustawień zapory.
Ten rozdział wyjaśnia, jak włączyć tryb pasywny w vsftpd i skonfigurować niezbędne porty w zaporze.
Co to jest tryb pasywny?
FTP ma dwa tryby komunikacji: „tryb aktywny” i „tryb pasywny”.
- Tryb aktywny – serwer próbuje nawiązać połączenie z klientem.
- Tryb pasywny – komunikacja odbywa się wyłącznie przy połączeniach od klienta do serwera (bardziej niezawodny w środowiskach NAT i przy zaporach).
W nowoczesnych sieciach zaleca się tryb pasywny. Należy jawnie skonfigurować ustawienia trybu pasywnego w vsftpd.
Włączanie trybu pasywnego w vsftpd
Dodaj lub edytuj następujące ustawienia w pliku /etc/vsftpd.conf:
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
Konfiguracja ta powoduje, że vsftpd działa w trybie pasywnym i używa portów 40000‑50000 do transferu danych. Zakres ten jest dowolny, ale często rezerwuje się około 20‑30 portów.
Określanie zewnętrznego adresu IP (dla środowisk NAT)
Jeśli serwer znajduje się w środowisku NAT, np. za routerem, musisz jawnie podać globalnie widoczny zewnętrzny adres IP, aby klienci mogli się poprawnie połączyć.
pasv_address=203.0.113.45
- Powyższy adres IP jest przykładem. Zamień go na swój rzeczywisty publiczny adres IP.
Dzięki temu ustawieniu klient FTP może nawiązać połączenie danych na podstawie poprawnych informacji o adresie wysyłanych przez vsftpd.
Konfiguracja zapory (UFW)
Otwórz porty używane przez vsftpd w zaporze Ubuntu (UFW). Wykonaj następujące polecenia:
sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
20/tcp– kanał danych FTP (dla trybu aktywnego)21/tcp– kanał poleceń FTP (logowanie i przesyłanie poleceń)40000:50000/tcp– zakres portów dla transferu danych w trybie pasywnym
Po skonfigurowaniu zrestartuj UFW, aby zastosować zmiany.
sudo ufw reload
Uwagi dotyczące środowisk chmurowych (AWS, GCP, Azure itp.)
Kiedy uruchamiasz FTP na instancji w chmurze, musisz otworzyć te same porty nie tylko w UFW na poziomie systemu operacyjnego, ale także w grupie zabezpieczeń (firewall) dostawcy chmury.
Przykład: dla AWS
→ Zezwól na porty TCP 21 oraz 40000‑50000 w grupie zabezpieczeń.
Podsumowanie
Aby praktycznie korzystać z FTP, konfiguracja trybu pasywnego w vsftpd oraz otwarcie odpowiednich portów zgodnie ze środowiskiem sieciowym są niezbędne. Szczególnie przy połączeniach z zewnętrznej sieci wiele awarii komunikacji i timeoutów wynika właśnie z tych ustawień.
Następny rozdział wyjaśni, jak ustawić indywidualne uprawnienia dostępu i ograniczenia katalogów dla każdego użytkownika FTP. Pomoże to w obsłudze wielu użytkowników i zarządzaniu uprawnieniami.
7. Konfiguracja per‑użytkownikowa
W rzeczywistym środowisku operacyjnym serwera FTP często zachodzi potrzeba przydzielenia różnych uprawnień dostępu i katalogów wielu użytkownikom. Na przykład możesz chcieć utworzyć dedykowane foldery dla poszczególnych działów lub użytkowników, albo ograniczyć dostęp do plików innych użytkowników.
Ten rozdział przedstawia zarządzanie ustawieniami per‑użytkownikowo w vsftpd.
Tworzenie dedykowanych użytkowników FTP
Najpierw utwórz dedykowane konta użytkowników dla FTP. Zwykle tworzy się nowych użytkowników z określonymi katalogami domowymi.
sudo adduser ftpuser1
To polecenie tworzy dedykowany katalog w /home/ftpuser1. Jeśli używasz go wyłącznie do celów FTP, możesz ograniczyć logowanie, wyłączając powłokę.
sudo useradd -m -s /usr/sbin/nologin ftpuser2
Ustawianie uprawnień katalogu domowego
Zgodnie ze specyfikacjami bezpieczeństwa vsftpd, „zapisywalne katalogi chroot” nie są dozwolone dla katalogów domowych FTP. Dlatego zaleca się następującą konfigurację:
/home/ftpuser1/
├── files/ ← Allow write access (for uploads, etc.)
Dostosuj uprawnienia w następujący sposób:
sudo mkdir /home/ftpuser1/files
sudo chown ftpuser1:ftpuser1 /home/ftpuser1/files
sudo chmod 755 /home/ftpuser1
Tworzy to bezpieczną konfigurację, w której katalog główny (/home/ftpuser1) nie jest zapisywal, ale przesyłanie plików jest możliwe do podkatalogu files/.
Przypinanie użytkowników do katalogów za pomocą chroot
Ustawiając chroot_local_user=YES, jak opisano w poprzednim rozdziale, możesz uniemożliwić użytkownikom FTP dostęp do katalogów powyżej ich katalogu domowego.
chroot_local_user=YES
allow_writeable_chroot=YES
To ustawienie pomaga zapobiegać przypadkowemu przeglądaniu lub modyfikacji obszarów innych użytkowników.
Używanie plików konfiguracyjnych per-użytkownik (szczegółowa kontrola)
vsftpd posiada również funkcję umożliwiającą zastosowanie indywidualnych ustawień dla każdego użytkownika. Pozwala to precyzyjnie kontrolować polityki, takie jak ograniczenia dostępu, logowanie i czasy połączeń.
Najpierw skonfiguruj w następujący sposób:
user_config_dir=/etc/vsftpd_user_conf
Następnie utwórz indywidualne pliki konfiguracyjne w określonym katalogu.
sudo mkdir /etc/vsftpd_user_conf
sudo nano /etc/vsftpd_user_conf/ftpuser1
Przykład:
local_root=/home/ftpuser1/files
write_enable=YES
Pozwala to ograniczyć katalog główny ftpuser1 do /home/ftpuser1/files i oddzielić uprawnienia zapisu od innych użytkowników.
Uwagi przy jednoczesnym używaniu SFTP
Jeśli używasz SFTP (FTP opartego na SSH), które korzysta z funkcji OpenSSH, oprócz vsftpd, zaleca się zarządzanie konfiguracjami osobno, ponieważ powłoki użytkowników i przynależności grup mogą się różnić.

Podsumowanie
vsftpd umożliwia elastyczną kontrolę katalogów i ustawień uprawnień dostępu dla każdego użytkownika. Odpowiednie zarządzanie użytkownikami zapewnia równowagę między bezpieczeństwem a wygodą.
Następny rozdział wyjaśnia, jak sprawdzić działanie serwera FTP. Połączmy się rzeczywiście z klientem i zweryfikujmy, że przesyłanie i pobieranie plików działa prawidłowo.
8. Potwierdzenie działania
Do tej pory zakończyłe instalację, konfigurację i zarządzanie użytkownikami serwera FTP. Ostatnim ważnym krokiem jest zweryfikowanie, że serwer FTP działa prawidłowo.
W tej sekcji przedstawiono, jak sprawdzić połączenie przy użyciu środowiska lokalnego oraz klienta FTP.
Sprawdzenie połączenia w środowisku lokalnym (linia poleceń)
Aby przetestować, czy możesz połączyć się z serwerem FTP z samego Ubuntu, użyj polecenia ftp. Spróbuj połączyć się w następujący sposób:
ftp localhost
Gdy pojawi się monit logowania, wprowadź nazwę użytkownika FTP oraz hasło, które utworzyłeś wcześniej.
Name (localhost:username): ftpuser1
Password: ********
Po zalogowaniu możesz wypróbować podstawowe operacje przy użyciu poleceń, takich jak:
ls # Display file list
cd files # Change directory
put test.txt # Upload a file
get test.txt # Download a file
Jeśli wszystko działa pomyślnie, serwer FTP został skonfigurowany bez problemów.
* Uwaga: W nowszych wersjach Ubuntu polecenie ftp jest przestarzałe, więc możesz zainstalować i używać klientów takich jak lftp lub ncftp jako alternatywy.
Potwierdzenie połączenia z klientem GUI (przykład FileZilla)
Dla typowych użytkowników i weryfikacji złożonych struktur katalogów wygodny jest graficzny klient FTP, taki jak FileZilla. Procedura konfiguracji opisana jest poniżej.
Procedura połączenia w FileZilla:
- Uruchom FileZilla i otwórz „Menedżer stron”.
- Utwórz „Nową stronę”.
- Wprowadź następujące dane:
| Configuration Item | Content |
|---|---|
| Host | Server’s IP address or domain name |
| Protocol | FTP – File Transfer Protocol |
| Encryption | Explicit FTP over TLS (if using FTPS) |
| Logon Type | Normal |
| User | ftpuser1, etc. (created username) |
| Password | Password for the above user |
- Kliknij przycisk „Połącz”.
Jeśli po połączeniu zostanie wyświetlona lista plików i struktura katalogów, połączenie zakończyło się sukcesem. Wypróbuj także operacje wysyłania/pobierania.
Typowe problemy i punkty kontrolne podczas połączenia FTP
| Problem | Checkpoint |
|---|---|
| Cannot connect | Check if ports are open in the firewall and security group. |
| Login failed (530 Login incorrect) | Verify username/password and check vsftpd.userlist. |
| Cannot display file list | Check if passive mode is enabled and the port range is open. |
| File names are garbled | Reconfirm UTF-8 settings and client character encoding. |
Sprawdzanie statusu w plikach dziennika
Jeśli problem będzie się utrzymywał, sprawdzenie pliku dziennika vsftpd może pomóc zidentyfikować przyczynę.
cat /var/log/vsftpd.log
Dla innych dzienników systemowych użyj następującego polecenia:
sudo journalctl -u vsftpd
Ta informacja ułatwia zrozumienie „kiedy”, „kto”, „co zrobił” i „gdzie wystąpiła awaria”.
Inne wskazówki
- Jeśli połączenie jest niestabilne: Podejrzewaj zaporę sieciową lub program antywirusowy po stronie klienta, które blokują połączenie.
- Ograniczenia wynikające z podwyższonego poziomu bezpieczeństwa: SELinux lub AppArmor mogą zakłócać działanie (AppArmor jest często włączony w Ubuntu).
Podsumowanie
Istnieją typowe wzorce błędów, które pojawiają się podczas operacji FTP. Spokojne sprawdzenie każdego punktu i weryfikacja pliku konfiguracyjnego, użytkowników, zapory i dzienników pozwala rozwiązać większość problemów.
Następny rozdział szczegółowo wyjaśni typowe problemy występujące podczas operacji FTP oraz sposoby ich rozwiązania. Znajomość metod radzenia sobie z błędami znacząco zwiększy Twoją zdolność reagowania w rzeczywistych warunkach.
9. Rozwiązywanie problemów
Nawet po zakończeniu konfiguracji serwera FTP mogą wystąpić różne błędy i awarie podczas rzeczywistej eksploatacji. W szczególności problemy z konfiguracją sieci, ustawieniami uprawnień oraz ograniczeniami wynikającymi z ustawień bezpieczeństwa mogą prowadzić do sytuacji, takich jak niemożność połączenia się czy niepowodzenie transferu plików.
W tej sekcji przedstawiono typowe błędy i ich rozwiązania w formie przypadków. Została ona zorganizowana tak, aby początkujący łatwo mogli zidentyfikować przyczynę i szybko przywrócić prawidłowe działanie.
Typowe błędy i metody ich rozwiązywania
Błąd: 530 Login incorrect
Przyczyna:
- Nieprawidłowa nazwa użytkownika lub hasło.
- Użytkownik nie jest zarejestrowany w
/etc/vsftpd.userlist(gdy używana jest biała lista).
Rozwiązanie:
- Dokładnie sprawdź wprowadzone dane.
- Jeśli w pliku
vsftpd.confustawionouserlist_deny=NO, dodaj użytkownika, którego chcesz zezwolić na logowanie, do/etc/vsftpd.userlist.
Błąd: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Przyczyna:
- Katalog domowy jest zapisywalny, a funkcja chroot jest włączona.
Rozwiązanie:
- Dodaj następujące linie do
vsftpd.conf:allow_writeable_chroot=YES
- Alternatywnie, nie przyznawaj uprawnień zapisu katalogowi domowemu, a zamiast tego skonfiguruj uprawnienia zapisu dla podkatalogu, np.
files/.


