KONFIGURACJA FTP W UBUNTU SERVER 16.04

I. Instalacja serwera FTP - vsftpd.

Instalacja serwera FTP

VSFTPD to bardzo prosty ale i bezpieczny serwer FTP dla systemów uniksowych i Linuxa. Aby go zainstalować użyjemy polecenia sudo apt install vsftpd -y.

Instalacja serwera FTP

Po zakończeniu sprawdzamy czy ftp działa poleceniem sudo systemctl status vsftpd. Widzimy, że jest OK i możemy rozpocząć jego wstępną konfigurację.

Instalacja serwera FTP

Teraz edytujemy plik vsftpd.conf. Najpierw zrobimy jednak jego kopię poleceniem:
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf-kopia

Instalacja serwera FTP

Po utworzeniu kopii, edytujemy nasz plik poleceniem sudo nano /etc/vsftpd.conf. Na razie nic w nim nie będziemy zmieniać, ważne by te dwie opcje nie były "zahaszowane".

II. Konfiguracja połączenia autoryzowanego do katalogu domowego użytkownika.

Konfiguracja serwera FTP

Najpierw utworzymy sobie na serwerze użytkownika, którym będziemy logować się z klienta na serwer FTP. Niech to będzie: bondjftp1.

Konfiguracja serwera FTP

Teraz sprawdzimy czy jest folder domowy naszego użytkownika, przejdziemy do niego i utworzymy w nim trzy pliki.

Konfiguracja serwera FTP

Teraz spróbujemy z klienta zalogować się na nasz serwer ftp tym użytkownikiem. Stosujemy polecenie: ftp 10.80.80.1 i naciskamy enter. Potem wpisujemy nazwę użytkownika i hasło. Jak widać udało się zalogować i sprawdzimy co znajduje się na serwerze ftp.

Konfiguracja serwera FTP

Następnie pobierzemy na pulpit plik 1.txt. Najpierw za pomocą lcd zmienimy sobie ścieżkę, a potem użyjemy polecenia get 1.txt

Konfiguracja serwera FTP

Teraz spróbujemy wysłać z pulpitu plik 10.txt na serwer poleceniem put 10.txt. Jak widać nie udało się. Domyślnie zapis na serwerze ftp jest zablokowany.

Konfiguracja serwera FTP

Aby umożliwić opcję zapisu, należy edytować plik sudo nano /etc/vsftpd.conf i odnaleźć poniższy wpis. Domyślnie jest on "zahaszowany", więc musimy zdjąć komentarz i zapisujemy zmiany.

Konfiguracja serwera FTP

Należy też zrestartować serwer ftp poleceniem
sudo systemctl restart vsftpd i sprawdzić status serwera.

Konfiguracja serwera FTP

Następnie z klienta logujemy się ponownie do serwera ftp, sprawdzamy co się na nim znajduje, zmieniamy nasz katalog lokalny na /home/bondj/Pulpit i wysyłamy plik 10.txt. Jak widać teraz już wszystko się udało.

Konfiguracja serwera FTP

Jest jeszcze jedna rzecz, którą warto zrobić. Jak widać poniżej wadą takiego rozwiązania jest możliwość przeglądania przez naszego użytkownik zasobów serwera (nie tylko ftp).

Konfiguracja serwera FTP

Aby to zmienić musimy edytować plik konfiguracyjny sudo nano /etc/vsftpd.conf i odnaleźć lub wprowadzić poniższe opcje. Przy okazji ustawimy sobie baner powitalny na naszym serwerze. Następnie restartujemy serwer ftp.

Konfiguracja serwera FTP

Logujemy się na nasz serwer i widzimy, że nasz baner powitalny jest już ustawiony. Dodatkowo nie możemy opuścić już swojego katalogu.

III. Konfiguracja połączenia anonimowego.

Konfiguracja serwera FTP

Serwer ftp może też służyć użytkownikom anonimowym. Edytujemy plik sudo nano /etc/vsftpd.conf i tam włączamy go zmieniając parametr anonymous_enable=YES.

Konfiguracja serwera FTP

Logujemy się na nasz serwer za pomocą anonimowego użytkownika i bez hasła. Sprawdzamy zawartość i widzimy, że nie ma tam jeszcze żadnych danych.

Konfiguracja serwera FTP

Domyślnym katalogiem dla anonimowych użytkowników jest /srv/ftp. Utworzymy tam trzy nowe pliki.

Konfiguracja serwera FTP

Logujemy się ponownie na nasz serwer za pomocą anonimowego użytkownika i widzimy, że nasze pliki już tam się znajdują. Zmienimy ścieżkę na pulpit i pobierzemy jeden z nich. Jak widać - udało się.

Konfiguracja serwera FTP

Możemy też zmienić lokalizację dla plików anonimowych użytkowników. Najpierw utworzymy sobie taki katalog. Niech to będzie /home/ftp.

Konfiguracja serwera FTP

Następnie edytujemy plik sudo nano /etc/vsftpd.conf i tam dodajemy parametr anon_root=/home/ftp i restartujemy serwer ftp.

Konfiguracja serwera FTP

Ponownie się logujemy na serwer i widzimy, że na naszym "nowym" serwerze nic nie ma.

Konfiguracja serwera FTP

Wracamy na nasz serwer i w katalogu /home/ftp utworzymy trzy nowe pliki.

Konfiguracja serwera FTP

Logujemy się ponownie na nasz serwer za pomocą anonimowego użytkownika i widzimy, że nasze pliki już tam się znajdują. Zmienimy ścieżkę na pulpit i pobierzemy jeden z nich. Jak widać - udało się.

Konfiguracja serwera FTP

Gdybyśmy jednak chcieli coś wysłać to może być z tym problem. Widzimy odmowę dostępu. Po pierwsze na publicznym serwerze w katalogu głównym nie ma takiej możliwości, a po drugie na chwilę obecną nie mamy uprawnień do dokonywania zapisu.

Konfiguracja serwera FTP

Żeby móc zapisywać na publicznym serwerze ftp to najpierw edytujemy plik sudo nano /etc/vsftpd.conf i tam zdejmujemy komentarz z dwóch wpisów. Zapisujemy zmiany i restartujemy serwer ftp.

Konfiguracja serwera FTP

A potem stworzymy katalog (sudo mkdir /home/ftp/ftpzapis), w którym będziemy te czynności wykonywać i damy pełne prawa dla wszystkich użytkowników.

Konfiguracja serwera FTP

Zalogujemy się teraz na nasz serwer, przejdziemy do stworzonego katalogu, zmienimy lokalną ścieżkę aby móc wysłać plik z Pulpitu i utworzymy dodatkowo folder anonim1. Wszystko się udało!

Konfiguracja serwera FTP

Możemy sprawdzić na serwerze, że nasze dane się tam znajdują.

IV. Konfiguracja połączenia autoryzowanego dla kilku użytkowników do serwera FTP.

Konfiguracja serwera FTP

Tym razem musimy sobie założyć co chcemy zrobić. Na naszym serwerze FTP utworzymy trzy foldery oraz kilku użytkowników. Część z nich będzie miało dostęp do jednego folderu, część do drugiego, a do trzeciego wszyscy. Wykorzystamy do tego grupy.
Tworzymy główny folder w katalogu /home dla serwera FTP - mainftp, a w nim trzy foldery: men, women, people.

Konfiguracja serwera FTP

Stworzymy również trzy grupy: aktorzy, aktorki, artysci. Wyświetlimy sobie również zawartość pliku /etc/group aby sprawdzić czy zadziałało.

Konfiguracja serwera FTP

Teraz utworzymy sześciu użytkowników: aktorka1, aktorka2, aktorka2, aktor1, aktor2, aktor3. Dodamy ich automatycznie do odpowiedniej grupy i narzucimy im wspólny katalog domowy /home/mainftp. Zabierzemy im też możliwość interaktywnego logowania do systemu. Potem ustawimy im hasła.

Konfiguracja serwera FTP

Teraz utworzymy na serwerze FTP w naszych katalogach po dwa pliki. Możemy oczywiście też to sprawdzić czy się udało.

Konfiguracja serwera FTP

Logujemy się teraz naszym użytkownikiem i sprawdzamy czy ma dostęp do utworzonych katalogów. Będzie to aktor1. Sprawdzamy dostęp katalogu men i pobieramy jakiś plik (ok) i próbujemy coś wysłać (nie udało się).

Konfiguracja serwera FTP

Logujemy się teraz naszym użytkownikiem i sprawdzamy czy ma dostęp do utworzonych katalogów. Będzie to aktor1. Sprawdzamy dostęp katalogu women i pobieramy jakiś plik (ok) i próbujemy coś wysłać (nie udało się).

Konfiguracja serwera FTP

Logujemy się teraz naszym użytkownikiem i sprawdzamy czy ma dostęp do utworzonych katalogów. Będzie to aktor1. Sprawdzamy dostęp katalogu people i pobieramy jakiś plik (ok) i próbujemy coś wysłać (nie udało się). Podobnie będzie z pozostałymi użytkownikami.

Konfiguracja serwera FTP

Teraz zrobimy tak jak założyliśmy sobie na początku. Najpierw uprawnimy grupy do odpowiednich katalogów, potem zmienimy im prawa dostępu i przypiszemy wszystkich użytkowników do grupy ludzie. Właścielem katalogów pozostawimy roota.

Konfiguracja serwera FTP

Przypiszemy jeszcze naszych użytkowników do odpowiednich grup (jeśli grupy aktorzy i aktorki nie mają przypisanych użytkowników, to należy ich dodać). Edytujemy plik sudo nano /etc/group dokonujemy wpisów, zapisujemy zmiany i restartujemy serwer ftp.

Konfiguracja serwera FTP

Logujemy się na nasz serwer z klienta użytkownikiem np. aktor2. Przechodzimy do katalogu men (sukces) zmieniamy sobie ścieżkę lokalną na pulpit i próbujemy wysłać plik z Pulpitu 1.txt. Widzimy, że się udało.

Konfiguracja serwera FTP

Logujemy się na nasz serwer z klienta użytkownikiem np. aktor2. Przechodzimy do katalogu women. Jak widzimy nie mamy dostępu. Przechodzimy zatem do folderu people (sukces) zmieniamy sobie ścieżkę lokalną na pulpit i próbujemy wysłać plik z Pulpitu 1.txt. Widzimy, że się udało.

Konfiguracja serwera FTP

Powtarzamy teraz te same czynności ale użytkownikiem z grupy aktorki. Logujemy się na nasz serwer z klienta użytkownikiem np. aktorka3. Przechodzimy do katalogu women (sukces) zmieniamy sobie ścieżkę lokalną na pulpit i próbujemy wysłać plik z Pulpitu 1.txt. Widzimy, że się udało.

Konfiguracja serwera FTP

Logujemy się na nasz serwer z klienta użytkownikiem np. aktorka3. Przechodzimy do katalogu men. Jak widzimy nie mamy dostępu. Przechodzimy zatem do folderu people (sukces) zmieniamy sobie ścieżkę lokalną na pulpit i próbujemy wysłać plik z Pulpitu 1.txt. Widzimy, że się udało.