File Transfer Protocol (FTP) jest popularnym i szeroko stosowanym narzędziem do przesyłania plików między serwerem a klientami przez sieć. Głównym problemem z domyślnymi ustawieniami FTP jest ryzyko związane z niezaszyfrowaną transmisją poświadczeń i danych użytkownika przez sieć. Może to naruszyć szczegóły konta użytkownika.
dlatego istnieje potrzeba zainstalowania bezpiecznego serwera obsługującego szyfrowanie. Istnieje kilka serwerów FTP open-source dostępnych dla Linuksa do twojej dyspozycji. Najczęściej używane Serwery to Vsftpd, PureFTPd i ProFTPD.
w tym samouczku opiszemy jak zainstalować i skonfigurować serwer VSFTPD, który jest bardzo bezpiecznym demonem FTP.
Instalacja serwera FTP na CentOS
tutaj użyjemy minimalnej instalacji Centos 7 do demonstracji i zalogujemy się do roota, aby wykonać polecenia.
Krok 1 – Zainstaluj pakiet vsftpd
zasadniczo pakiet vsftpd jest dostępny w domyślnych repozytoriach CentOS. Uruchom następujące polecenie, aby zainstalować serwer FTP.
yum install vsftpd
po instalacji sprawdź status usługi FTP.
systemctl status vsftpd
jeśli usługa nie jest uruchomiona, możesz uruchomić usługę za pomocą poniższego polecenia.
systemctl start vsftpd
teraz powinniśmy włączyć usługę FTP podczas rozruchu systemu.
systemctl enable vsftpd
Krok 2 – Skonfiguruj plik konfiguracyjny VSFTPD
vsftpd znajdujący się w katalogu „/etc/vsftpd/”. Więc zamierzamy zmodyfikować ” vsftpd.conf”. Przed modyfikacją wykonaj kopię zapasową oryginalnego pliku.
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.origbackup
teraz Edytuj plik.
vi /etc/vsftpd/vsftpd.conf
zamierzamy zezwolić na dostęp do serwera FTP tylko dla użytkowników lokalnych, więc będziemy edytować następujące parametry i modyfikować.
anonymous_enable=NOlocal_enable=YES
Znajdź „write_enable” i rozpakuj ustawienie, aby zezwolić na zmiany w systemie plików.
write_enable=YES
znajdź i rozpakuj dyrektywę „chroot”, aby uniemożliwić użytkownikom FTP Dostęp do plików poza ich katalogami domowymi.
chroot_local_user=YES
tutaj konfigurujemy katalogi FTP, aby zezwalały na przesyłanie po włączeniu chroot. Jest to zalecana metoda. Więc dodaj następujące linie do „vsftpd.plik conf.
user_sub_token=$USERlocal_root=/home/$USER/ftp
normalnie vsftpd może używać dowolnego portu do pasywnych połączeń FTP. Tutaj wymieniamy minimalny i maksymalny zakres portów dla vsftpd.
dodaj te linie do pliku
pasv_min_port=40000pasv_max_port=41000
aby ograniczyć użytkownika, Zaloguj się dodaj następujące konfiguracje po linii „userlist_enable=YES”.
userlist_file=/etc/vsftpd/user_listuserlist_deny=NO
teraz zapisz i zamknij plik.
Uruchom ponownie usługę VSFTPD.
systemctl restart vsftpd
Krok 3 – Skonfiguruj zaporę sieciową
Zezwalaj na porty FTP przez zaporę sieciową.
firewall-cmd --permanent --add-port=20-21/tcp firewall-cmd --permanent --add-port=40000-41000/tcp
teraz przeładuj zaporę.
firewall-cmd --reload
Krok 4 – Utwórz użytkownika FTP
Dodaj użytkownika. Zastąp „darsh” żądaną nazwą użytkownika.
adduser darsh
Ustaw hasło dla użytkownika.
passwd darsh
teraz Dodaj użytkownika do listy dozwolonych użytkowników FTP. Aby to zrobić, Edytuj plik konfiguracyjny i dodaj nazwę użytkownika.
vi /etc/vsftpd/user_list
następnie zapisz i zamknij plik.
Utwórz katalog uploadu dla użytkownika.
mkdir -p /home/darsh/ftp/upload
Ustaw uprawnienia do katalogu.
chmod 550 /home/darsh/ftpchmod 750 /home/darsh/ftp/upload
Zmień właściciela katalogu.
chown -R darsh: /home/darsh/ftp
stworzyliśmy użytkownika z dostępem do powłoki i jeśli chcesz, możesz wyłączyć dostęp do powłoki od użytkownika.
usermod -s /sbin/nologin darsh
Krok 5 – Przetestuj serwer FTP
teraz możesz użyć klienta FTP i uzyskać dostęp do serwera. Jeśli go nie masz, polecam korzystanie z darmowej i otwartej aplikacji „FileZilla”.
możesz przeglądać przesłany katalog i utworzyć plik do testowania.
to wszystko! Pomyślnie skonfigurowano serwer FTP na CentOS. Daj nam znać, jak przebiegła twoja instalacja i udostępnij artykuł znajomym na platformach społecznościowych.