Kako instalirati, konfigurirati i osigurati FTP poslužitelj u RHEL 8


FTP (skraćenica za “File Transfer Protocol”) standardni je i stari mrežni protokol koji se koristi za prijenos datoteka između klijenta i poslužitelja na računalnoj mreži. Izgrađen je na arhitekturi modela klijent-poslužitelj, koji nudi pristup datotekama i direktorijima putem FTP klijenta, za učitavanje datoteka na poslužitelj kao i preuzimanje datoteka s njega.

U našem prethodnom članku objasnili smo kako instalirati, konfigurirati i osigurati FTP poslužitelj u CentOS/RHEL 7 za prijenos računalnih datoteka između klijenta i poslužitelja na računalnoj mreži.

U ovom ćemo članku opisati kako instalirati, konfigurirati i osigurati FTP poslužitelj na RHEL 8 za osnovno dijeljenje datoteka između računala.

Instalirajte FTP poslužitelj na RHEL 8

1. Za instalaciju sigurnog FTP paketa koristite sljedeću naredbu dnf.

dnf install vsftpd

2. Kada je instalacija dovršena, trebate pokrenuti uslugu vsftpd u međuvremenu, omogućiti joj da se automatski pokrene pri dizanju sustava i zatim provjeriti status koristeći sljedeće systemctl naredbe.

systemctl start vsftpd
systemctl enable vsftpd
systemctl status vsftpd

3. Zatim morate otvoriti FTP priključak 21 na vatrozidu sustava kako biste omogućili pristup FTP uslugama s vanjskih sustava.

firewall-cmd --zone=public --permanent --add-port=21/tcp
firewall-cmd --zone=public --permanent --add-port=45073/tcp
firewall-cmd --reload

Konfigurirajte FTP poslužitelj na RHEL 8

4. Za konfiguraciju FTP poslužitelja, morate napraviti sigurnosnu kopiju glavne FTP konfiguracijske datoteke /etc/vsftpd/vsftpd.conf pomoću sljedeće naredbe kopiranja.

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig

5. Zatim otvorite konfiguracijsku datoteku koristeći svoj omiljeni uređivač naredbenog retka.

vi /etc/vsftpd/vsftpd.conf

Postavite sljedeće parametre s ovim odgovarajućim vrijednostima (pogledajte man vsftpd.conf za značenja konfiguracijskih parametara):

anonymous_enable=NO             
local_enable=YES		
write_enable=YES		
local_umask=022		        
dirmessage_enable=YES	        
xferlog_enable=YES		
connect_from_port_20=YES        
xferlog_std_format=YES          
listen=NO   			
listen_ipv6=YES		        
pam_service_name=vsftpd        

6. Zatim trebate konfigurirati FTP da korisnicima omogući/odbije pristup FTP uslugama na temelju datoteke popisa korisnika /etc/vsftpd.userlist.

Prema zadanim postavkama, korisnicima navedenima u datoteci /etc/vsftpd.userlist zabranjen je pristup s opcijom userlist_deny postavljenom na YES, ako je userlist_enable =DA, omogućuje pristup.

No, postavljanje parametra userlist_deny=NO mijenja postavku, što znači da će samo korisnici izričito navedeni u userlist_file=/etc/vsftpd.userlist biti dopušteni da se prijave.

Stoga dodajte sljedeće retke u konfiguracijsku datoteku vsftpd.conf (ili ako već postoje, skinite komentare s njih i postavite njihove vrijednosti kao što je prikazano):

userlist_enable=YES                   # allow access to list of usernames from the userlist_file
userlist_file=/etc/vsftpd.userlist    # stores usernames.
userlist_deny=NO   

7. Sada dodajte sljedeće retke u konfiguracijsku datoteku vsftpd.conf da ograničite FTP korisnike na njihove početne direktorije.

chroot_local_user=YES		#means local users will be placed in a chroot jail, their home directory after login by default settings.
user_sub_token=$USER         	
local_root=/home/$USER/ftp   	

Spremite promjene u datoteku i zatvorite je.

8. Postavite sljedeće SELinux boolean pravilo da omogućite FTP-u za čitanje/pisanje datoteka u početnom direktoriju korisnika.

semanage boolean -m ftpd_full_access --on

9. Konačno ponovno pokrenite uslugu vsftpd kako biste utjecali na sve promjene koje smo do sada napravili iznad:

systemctl restart vsftpd

Testiranje FTP poslužitelja na RHEL 8

10. Da biste testirali radi li gornja FTP postavka dobro, započnite stvaranjem FTP korisnika pomoću naredbe useradd i stvorite lozinku za tog korisnika.

useradd -m -c "Tecmint HowTos" -s /bin/bash tecmint
passwd tecmint

11. Zatim dodajte korisnika tecmint u datoteku /etc/vsftpd.userlist pomoću naredbe echo kako slijedi.

echo "tecmint" | tee -a /etc/vsftpd.userlist
cat /etc/vsftpd.userlist

12. Zatim stvorite alternativni lokalni korijenski direktorij za korisnika (tecmint, vaš je vjerojatno drugačiji) i postavite odgovarajuća dopuštenja za ovaj direktorij.

mkdir -p /home/tecmint/ftp
chown nobody:nobody /home/tecmint/ftp
chmod a-w /home/tecmint/ftp

13. Zatim stvorite direktorij unutar lokalne korijenske lokacije, gdje će korisnik držati svoje datoteke.

mkdir /home/tecmint/ftp/files
chown tecmint:tecmint /home/tecmint/ftp/files
chmod 0700 /home/tecmint/ftp/files/

14. Sada se spojite na FTP poslužitelj koristeći bilo koji FTP klijent na sljedeći način.

ftp [email 
Uzorak izlaza
Connected to 192.168.56.100
220 Welcome to TecMint.com FTP service.
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls

To je to! U ovom smo članku opisali kako instalirati, konfigurirati i osigurati FTP poslužitelj u RHEL 8. U našem sljedećem članku pokazat ćemo kako osigurati FTP poslužitelj pomoću SSL/TLS veza. Do tada, ostanite s nama.