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


FTP (skraćenica od "File Transfer Protocol") je standardni 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, koja nudi pristup datotekama i direktorijima putem FTP klijenta, za prijenos 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. Da biste instalirali sigurni FTP paket, upotrijebite sljedeću dnf naredbu.

# dnf install vsftpd

2. Kada je instalacija dovršena, u međuvremenu morate pokrenuti uslugu vsftpd, omogućiti joj automatsko pokretanje prilikom pokretanja sustava, a zatim provjeriti status pomoću sljedećih naredbi systemctl.

# 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 iz 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. Da biste konfigurirali FTP poslužitelj, trebate 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 pomoću vašeg omiljenog uređivača naredbenog retka.

# vi /etc/vsftpd/vsftpd.conf

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

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. Dalje, trebate konfigurirati FTP da dozvoli/odbije korisnicima pristup FTP uslugama na temelju datoteke korisničkog popisa /etc/vsftpd.userlist.

Prema zadanim postavkama, korisnicima navedenim u datoteci /etc/vsftpd.userlist onemogućen je pristup s opcijom userlist_deny postavljenom na YES , ako je userlist_enable u003d DA , omogućuje pristup.

No, postavljanjem parametra userlist_deny u003d NO mijenja se postavka, što znači da će se samo korisnici izričito navedeni u userlist_file u003d/etc/vsftpd.userlist moći prijaviti.

Stoga dodajte sljedeće retke u vašu konfiguracijsku datoteku vsftpd.conf (ili ako već postoje, raskomentirajte ih i postavite njihove vrijednosti kako 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 vašu konfiguracijsku datoteku vsftpd.conf da biste ograničili FTP korisnike na svoje 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 logičko pravilo da omogućite FTP-u čitanje/pisanje datoteka korisničkog kućnog direktorija.

# semanage boolean -m ftpd_full_access --on

9. Napokon ponovo pokrenite vsftpd uslugu da utječe na sve promjene koje smo do sada napravili:

# systemctl restart vsftpd

Testiranje FTP poslužitelja na RHEL 8

10. Da biste testirali radi li gore navedeno postavljanje FTP-a, poč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 na sljedeći način.

# 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 lokalnog root mjesta, gdje će korisnici čuvati 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 pomoću bilo kojeg FTP klijenta kako slijedi.

# ftp [email protected]
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 sljedećem ćemo članku pokazati kako osigurati FTP poslužitelj pomoću SSL/TLS veza. Do tada, ostanite s nama.