KONFIGURACJA FTP W UBUNTU SERVER 18.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, który znajduje się w katalogu /etc. 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: bondjftp

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ą polecenia lcd zmienimy nasz katalog lokalny na "/home/steve/Pulpit", a potem użyjemy polecenia get 1.txt. Plik oczywiście został pobrany

Konfiguracja serwera FTP

Teraz utworzymy na "Pulpicie" plik "10.txt" i spróbujemy go wysłać 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źć wpis "write_enable=YES". 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/steve/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żytkownika 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ć powyższe opcje. Przy okazji ustawimy sobie baner powitalny na naszym serwerze. Następnie restartujemy serwer ftp

Konfiguracja serwera FTP

Logujemy się ponownie 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 poleceniem sudo nano /etc/vsftpd.conf i tam włączamy go zmieniając parametr anonymous_enable=YES. Oczywiście restartujemy serwer ftp

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ę naszego serwera ftp dla anonimowych użytkowników. Najpierw utworzymy sobie jakiś katalog. Niech to będzie /home/ftp

Konfiguracja serwera FTP

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

Konfiguracja serwera FTP

Ponownie logujemy się na serwer i widzimy, że na naszym "nowym" serwerze jeszcze 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ą. Standardowo już 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ć na serwer to może być z tym problem. Widzimy odmowę dostępu. Po pierwsze: na publicznym serwerze w katalogu głównym nie ma możliwości zapisu, a po drugie na chwilę obecną nie mamy uprawnień do dokonywania jakiegokolwiek 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

Logujemy się na nasz serwer, przejdziemy do stworzonego katalogu, zmienimy lokalną ścieżkę, wyślemy plik "1.txt" z Pulpitu i dodatkowo utworzymy folder anonim1. Wszystko się udało!

Konfiguracja serwera FTP

Możemy sprawdzić na serwerze, że nasze dane tam się 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 autoryzowanym 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. Poleceniem getent group nazwa_grupy sprawdzimy członków danej grupy

Konfiguracja serwera FTP

Musimy jeszcze ustawić im hasła poleceniem sudo passwd nazwa_użytkownika

Konfiguracja serwera FTP

Teraz utworzymy na serwerze FTP w naszych katalogach po dwa pliki i sprawdzimy czy się udało

Konfiguracja serwera FTP

Aby nasi użytkownicy mogli się zalogować do serwera FTP, musimy jeszcze edytować plik "shells" poleceniem sudo nano /etc/shells i dodać wpis "/usr/sbin/nologin". Zapisujemy, zamykamy i możemy działać

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

Następnie sprawdzamy czy użytkownik aktor1 ma dostęp katalogu women. Pobieramy jakiś plik (ok) i próbujemy coś wysłać (nie udało się).

Konfiguracja serwera FTP

Na koniec sprawdzamy czy użytkownik aktor1 ma dostęp katalogu people. Pobieramy jakiś plik (ok) i próbujemy coś wysłać (nie udało się). Podobnie sytuacja wygląda z pozostałymi użytkownikami

Konfiguracja serwera FTP

Teraz zrobimy tak jak założyliśmy sobie na początku. Uprawnimy grupy do odpowiednich katalogów, zmienimy im prawa dostępu i przypiszemy wszystkich użytkowników do grupy "people". 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, zamykamy plik i restartujemy serwer ftp

Konfiguracja serwera FTP

Logujemy się na 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 1.txt. Udało się!

Konfiguracja serwera FTP

Następnie logujemy się na serwer tym samym użytkownikiem aktorka3. Przechodzimy do katalogu men (brak dostępu). Przechodzimy zatem do folderu people (sukces), zmieniamy sobie ścieżkę lokalną na pulpit i próbujemy wysłać plik 1.txt. Udało się!

Konfiguracja serwera FTP

Powtarzamy teraz te same czynności ale użytkownikiem z grupy aktorzy. 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 1.txt. Udało się!

Konfiguracja serwera FTP

Następnie logujemy się na serwer tym samym użytkownikiem aktor2. Przechodzimy do katalogu women (brak dostępu). Przechodzimy zatem do folderu people (sukces), zmieniamy sobie ścieżkę lokalną na pulpit i próbujemy wysłać plik 2.txt. Udało się! Nasze uprawnienia funkcjonują właściwe.