VSFTPD to skrót od ‘Very Secure File Transfer Protocol Daemon’. VSFTPD jest oprogramowaniem do przesyłania plików między klientem i serwerem za pomocą protokołu sieciowego FTP.
W niniejszym poradniku przedstawimy instalację, konfigurację oraz instrukcję użytkowania oprogramowania VSFTPD na serwerze Ubuntu 18.04, co pozwoli na przesyłanie plików między klientem i serwerem za pomocą protokołu sieciowego FTP.
Połącz się ze swoim serwerem przez SSH. Jeśli jeszcze tego nie zrobiłeś, zapoznaj się z naszym poradnikiem na temat bezpiecznego połączenia przez protokół SSH. W przypadku serwera lokalnego przejdź do następnego kroku i otwórz terminal na swoim serwerze.
Instalacja VSFTPD
Najpierw zaktualizuj repozytoria i zainstaluj niezbędne narzędzia. W tym celu skorzystaj z poniższej komendy:
$ sudo apt-get update -y && sudo apt-get install vsftpd -y
Po zakończeniu instalacji VSFTPD niezbędna będzie zmiana niektórych parametrów w pliku konfiguracyjnym. Ze względów bezpieczeństwa, w pierwszej kolejności utwórz kopię zapasową oryginalnego pliku konfiguracyjnego, który będziesz mógł przywrócić w przypadku problemów. W tym celu wprowadź:
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig-y
Następnie utwórz foldery, które zostaną udostępnione innym użytkownikom i przypisz je do odpowiednich właścicieli.
Stwórz odrębny folder root dla każdego użytkownika za pomocą komendy:
$ sudo mkdir path/folder
Utwórz użytkownika z dostępem do danego folderu:
$ sudo adduser --home=/path/folder test_user
Uwaga: zastąp 'test_user' nazwą użytkownika, którą chcesz wykorzystać do logowania oraz 'path/folder' ścieżką do wcześniej utworzonego folderu.
Utwórz podfoldery, w których zachowywane będą pliki. Pamięta, aby nadać uprawnienia folderowi. Powtórz operację dla każdego folderu przypisanego do użytkownika.
$ sudo mkdir path/folder/subfolder
$ sudo chmod 777 path/folder/subfolder
Uwaga: zastąp 'path/folder' ścieżką do wcześniej utworzonego folderu i 'subfolder' nazwą folderu, dostępnego tylko dla danego użytkownika.
Następnie ustaw właściciela i usuń uprawnienia do zapisu za pomocą komend:
$ sudo chown nobody:nogroup path/folder
$ sudo chmod a-w path/folder
Konfiguracja oprogramowania VSFTPD
Otwórz plik konfiguracyjny VSFTPD za pomocą poniższej komendy:
$ sudo nano /etc/vsftpd.conf
Aby umożliwić użytkownikom wgrywanie plików do folderu, odkomentuj linię write_enable = YES przez usunięcie symbolu #.
Aby umożliwić użytkownikom FTP dostęp do przypisanego im folderu, odkomentuj linie chroot_local_user = YES i chroot_list_enable = NO.
Usuń również symbol # przed linią chroot_list_file = / etc / vsftpd.chroot_list w celu udostępnienia ścieżki użytkownikom. Zatwierdź zmiany, a następnie zapisz i wyjdź (CTRL + X - Y - Enter).
Na koniec dodaj użytkowników do VSFTPD. W tym celu edytuj plik vsftpd.userlist:
$ sudo nano /etc/vsftpd.userlist
Uwaga: jeśli stworzyłeś kilku użytkowników, dodaj nazwę każdego użytkownika w odrębnej linii. Na końcu pliku dodaj następującą linię:
allow_writeable_chroot=YES
Zapisz i wyjdź (CTRL + X - Y - Enter).
Zrestartuj usługę w celu wprowadzenia zmian:
$ sudo systemctl restart vsftpd
Skorzystaj z klienta FTP, np. Filezilla, aby uzyskać dostęp do serwera FTP za pomocą różnych kont i zacznij przesyłać pliki.