Własny serwer Red Hat – cz.4: serwer FTP
Ostatnia aktualizacja: 13 marca 2025, 11:08
W pierwszej części serii cyklu Własny Serwer Red hat skonfigurowaliśmy serwer www za pomocą Apache (oraz opcjonalnie Nginx) i uruchomiliśmy zaporę ogniową firewalld. W części drugiej zainstalowaliśmy PHP i system bazodanowy MariaDB, a w części trzeciej skonfigurowaliśmy szyfrowanie domeny za pomocą Let’s Encrypt.
W tej części zainstalujemy i skonfigurujemy serwer FTP.
Co to jest serwer FTP?
Serwer FTP to oprogramowanie zainstalowane na serwerze, które działa w tle (jako usługa), nasłuchując na wybranych portach połączeń przychodzących, umożliwiając przesłanie na serwer plików lub pobieranie ich przez użytkowników.
Dodanie nowego użytkownika systemu
Do chwili obecnej wszystkie działania wykonywaliśmy za pośrednictwem administratora systemu, czyli „root”-a.
Do obsługi serwera FTP należy skonfigurować „zwykłego użytkownika”. Będzie on również użyty jak nick na koncie poczty elektronicznej email, w jednej z kolejnych części cyklu Własny Serwer.
Dodanie użytkownika (tutaj: pawel)
useradd -r pawel
Utworzenie katalogu domowego dla pawel (będzie przydany dla poczty email i transferu plików):
mkdir -p /home/pawel
Nadanie praw własności usera pawel do jego katalogu domowego:
chown pawel:pawel /home/pawel -R
Utworzenie hasła dla pawel (będzie używane do połączeń FTP):
passwd pawel
Instalacja serwera FTP
Do obsługi serwera FTP użyjemy aplikacji vsftpd (ang. Very Secure FTP Daemon), napisany od podstaw z myślą o bezpieczeństwie. Obsługuje on zarówno anonimowy, jak i nie anonimowy dostęp FTP, uwierzytelnianie PAM, ograniczanie przepustowości pasma oraz linuksowe rozszerzenie sendfile().
dnf install vsftpd
Wyedytuj plik konfiguracyjny vsftpd:
nano /etc/vsftpd/vsftpd.conf
Zmieniając 2 opcje na poniższe:
listen=YES
#listen_ipv6=YES
Do pliku user_list dodaj nazwę swojego użytkownika – będzie mógł łączyć się z serwerem FTP:
nano /etc/vsftpd/user_list
Dodając na końcu listy użytkownika:
pawel
Zrestartuj usługę vsftpd i sprawdź czy jest włączona i aktywna:
systemctl start vsftpd.service
systemctl enable vsftpd.service
systemctl status vsftpd.service -l
Dodaj usługę ftp do zapory ogniowej:
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
Możesz sprawdzić poprawność działania serwera FTP ze swojego lokalnego systemu, za pomocą dowolnego graficznego klienta FTP lub z konsoli tekstowej:
sftp user@ip-serwera
W przypadku problemów odsyłam do stron man-a:
man ftp
man sftp
man firewalld
man vsftpd
Na tym zakończyliśmy konfigurację serwera FTP dla systemów opartych na Red Hat, w kolejnej piątej części zainstalujemy własny serwer poczty email SMTP.