opened image

Co to jest FTP i jak go używać do przesyłania plików na serwer?

Protokół transferu plików (FTP) jest klasycznym, powszechnie akceptowanym sposobem umożliwiającym wymianę plików między urządzeniami sieciowymi. Protokół FTP jest niezwykle efektywny w procesie interakcji z dużymi ilościami danych, ponieważ zapewnia doskonałą wymianę informacji na serwerach. Użytkownicy mają możliwość bezproblemowej wymiany dokumentów, przesyłania ich między lokalnym komputerem a zdalnym serwerem, co czyni FTP niezastąpionym narzędziem dla programistów, administratorów systemów i wielu innych specjalistów. Korzystanie z FTP pozwala szybko i wygodnie zarządzać plikami, przesyłając je na stronę internetową lub pobierając potrzebne materiały.

Ponadto FTP wspiera wiele możliwości, takich jak zarządzanie prawami dostępu, co pozwala kontrolować, kto może widzieć i edytować zawartość. To czyni go cennym rozwiązaniem dla organizacji, które potrzebują niezawodnego i bezpiecznego transferu danych.

 

Protokół transferu plików: zalety korzystania

 

Jako uniwersalna metoda wymiany informacji, protokół FTP pozwala na realizację różnych celów. Na przykład, często jest używany do:

  • Zarządzanie treścią: FTP pozwala programistom na modyfikowanie i przesyłanie plików na serwerach.

  • Duplikacja danych: szczególnie ważnym i przydatnym narzędziem FTP dla serwerów jest możliwość tworzenia kopii zapasowych różnych informacji.

  • Praca z plikami na zdalnym serwerze: podczas pracy z serwerem istnieje możliwość zarządzania i edytowania dokumentów.

 

Krok po kroku: konfiguracja serwera FTP

 

Aby skonfigurować serwer FTP, zwróćmy uwagę na szeroko stosowany serwer FTP, który nazywa się Very Secure FTP Daemon, znany również jako vsftpd, słynący z niezawodności i bezpieczeństwa. Ten przykład nadaje się dla platform Ubuntu i CentOS opartych na Linuksie.

 

Etap 1: Instalacja FTP

  1. Aktualizacja pakietów: przed rozpoczęciem instalacji należy sprawdzić aktualność aktualizacji wszystkich pakietów. W razie potrzeby przeprowadzić aktualizację.
    sudo apt update

  2. Instalacja vsftpd:
    sudo apt install vsftpd -y

 

 

Krok 2: Konfiguracja ustawień

Po zakończeniu procesu instalacji należy przejść do pliku konfiguracyjnego vsftpd, aby wprowadzić niezbędne zmiany:
sudo nano /etc/vsftpd.conf

Poniżej przedstawione są kluczowe parametry, które wymagają konfiguracji:

 

Wyłączenie trybu incognito:
anonymous_enable=NO

Zwiększa to bezpieczeństwo, umożliwiając dostęp wyłącznie zarejestrowanym użytkownikom.

Umożliwienie dostępu lokalnym użytkownikom:
local_enable=YES

Umożliwia dostęp lokalnym użytkownikom, którzy mają osobisty profil serwerowy.

Dostęp do zapisu:
write_enable=YES


 

 

Umożliwia interakcję z serwerem poprzez edytowanie i przesyłanie dokumentów.  

Restart vsftpd po wprowadzeniu zmian w konfiguracji:
sudo systemctl restart vsftpd


Krok 3: Tworzenie użytkownika FTP

Aby poprawnie przeprowadzić tę procedurę, należy wpisać:
sudo adduser ftpuser


 

Udziel pozwolenia na pracę z niezbędnymi katalogami.

 

Krok 4: Uzyskanie dostępu do portów

Aby serwer FTP działał poprawnie, może być konieczne użycie portów 20 i 21. Aby zapewnić ich dostępność, należy utworzyć odpowiednią regułę w zaporze:

sudo ufw allow 20:21/tcp

sudo ufw reload


 

Użytkowanie klientów FTP

 

Korzystanie z klientów FTP umożliwia wygodną pracę z dokumentami za pomocą FTP. Poniżej przedstawiono kilka popularnych klientów, które mają różne interfejsy i zestawy funkcji.

FileZilla

FileZilla jest darmowym klientem, który obsługuje nie tylko połączenia FTP, ale także SFTP/FTPS. FileZilla ma otwarty kod źródłowy, co pozwala na korzystanie z klienta na różnych platformach Windows, macOS i Linux.

  1. Instalacja: najpierw należy pobrać klienta, który można znaleźć na oficjalnej stronie.

  2. Konfiguracja połączenia: otwórz FileZilla i wypełnij wszystkie niezbędne dane (login, hasło i adres IP serwera) w celu nawiązania połączenia.

  3. Wymiana plików: skorzystaj z opcji "przeciągnij i upuść", aby wysyłać i odbierać pliki.

Cyberduck

Cyberduck — to klient FTP, który jest dostępny dla systemów operacyjnych macOS i Windows. Jest zgodny z takimi protokołami jak FTP, SFTP i WebDAV, a także innymi odmianami. Wyróżnia się prostotą interfejsu i możliwością pracy z chmurami.

  1. Instalacja Cyberduck: pobierz program z  oficjalnej strony.

  2. Podłączenie do serwera: wybierz protokół, wprowadź IP, nazwę użytkownika i hasło do połączenia.

WinSCP

WinSCP — to darmowy klient FTP i SFTP dla Windows. Ma integrację z Windows i pozwala na uruchamianie zdalnych skryptów oraz synchronizację folderów.

  1. Instalacja WinSCP: pobierz go z  oficjalnej strony.

  2. Konfiguracja połączenia: otwórz WinSCP, wybierz typ połączenia (FTP lub SFTP), podaj dane do połączenia.

 

Praca z FTP przez wiersz poleceń

 

Praca z FTP przez wiersz poleceń — to efektywny sposób na przesyłanie i pobieranie plików, szczególnie gdy nie ma dostępu do interfejsu graficznego lub gdy konieczne jest zautomatyzowanie zadań. Ta metoda pozwala na użycie wbudowanych poleceń FTP do wykonywania operacji, takich jak przesyłanie plików, nawigacja po katalogach i konfiguracja połączeń.

 

Podłączenie do serwera FTP za pomocą konsoli

 

Aby rozpocząć pracę, wpisz w wierszu poleceń polecenie ftp, podając adres serwera FTP.

Aby połączyć się z serwerem FTP, wpisz:
ftp yourserver.com


 

Po wpisaniu polecenia zostaniesz poproszony o podanie nazwa użytkownika i hasło.

Podstawowe polecenia FTP dla konsoli

Użycie poleceń, które pozwalają na pracę z różnymi katalogami i dokumentami, stanie się możliwe w wyniku udanego połączenia.

Podstawowe polecenia nawigacyjne

ls — wyświetla w bieżącym katalogu serwera listę katalogów i dokumentów.

 

  • cd <nazwa_katalogu> — pozwala zmienić bieżący katalog serwera.
    cd uploads

  • pwd — pozwala wyświetlić bieżący katalog serwera.
    pwd

 

Przesyłanie plików

Użycie poleceń put i get pozwala na przesyłanie plików między serwerem a lokalnym komputerem, przesyłając i pobierając je.

  • put <nazwa_pliku> — przesyła plik z lokalnego komputera na serwer do bieżącego katalogu.
    put localfile.txt

  • mput <wzór_pliku> — przesyła kilka plików odpowiadających wzorowi.
    mput *.txt

  • get <nazwa_pliku> — pobiera na lokalny komputer z serwera konkretny plik.
    get remotefile.txt

  • mget <wzór_pliku> — pobiera kilka plików odpowiadających wzorowi.
    mget *.log

 

Administracja systemem plików serwera

  • mkdir <nazwa_katalogu> — pozwala utworzyć nowy katalog na serwerze.
    mkdir newfolder

  • rmdir <nazwa_katalogu> — usuwa pusty katalog serwera.
    rmdir oldfolder

  • delete <nazwa_pliku> — usuwa określony dokument na serwerze.
    delete oldfile.txt

 

Dodatkowe polecenia do zarządzania sesją

  • ascii i binary — ustalają tryb transferu danych.

    • ascii — używane do plików tekstowych.

    • binary — stosowane do plików binarnych (obrazy, archiwa), aby uniknąć błędów.
      binary

  • bye lub quit — kończy sesję FTP.
    bye

 

Skrypt automatycznego przesyłania plików

Aby automatycznie pobierać lub przesyłać pliki, można opracować skrypt, który regularnie łączy się z serwerem FTP i wykonuje niezbędne operacje. Przykład skryptu bash do automatycznego przesyłania plików:

  • #!/bin/bash

  • HOST='yourserver.com'

  • USER='ftpuser'

  • PASS='password'

  • ftp -inv $HOST <<EOF

  • user $USER $PASS

  • cd uploads

  • put localfile.txt

  • bye

  • EOF

W tym skrypcie:

  • ftp -inv $HOST uruchamia sesję FTP w trybie nieinteraktywnym.

  • user $USER $PASS loguje się.

  • cd uploads przechodzi do odpowiedniego katalogu.

  • put localfile.txt przesyła plik.

 

 

Rekomendacje dotyczące korzystania z FTP przez konsolę

 

  1. Używaj trybu binary do przesyłania plików binarnych, aby uniknąć ich uszkodzenia.

  2. Sprawdzaj połączenie przed rozpoczęciem transferu, ponieważ przerwy mogą powodować błędy.

  3. Aby chronić dane, zaleca się korzystanie z SFTP lub FTPS.

 

 

Podsumowanie

 

FTP — to potężne narzędzie do zarządzania plikami na serwerze, szczególnie w połączeniu z klientami, takimi jak FileZilla i Cyberduck. Jednak do przesyłania poufnych danych zaleca się korzystanie z zabezpieczonych wersji protokołu, takich jak SFTP.