Kako instalirati, konfigurirati i osigurati FTP server u RHEL 8
FTP (skraćeno od “File Transfer Protocol”) je standardni i stari mrežni protokol koji se koristi za prijenos datoteka između klijenta i servera na računarskoj mreži. Izgrađen je na arhitekturi klijent-server modela, koji nudi pristup datotekama i direktorijumima preko FTP klijenta, za upload datoteka na server, kao i za preuzimanje datoteka sa njega.
U našem prethodnom članku smo objasnili kako da instalirate, konfigurišete i obezbedite FTP server u CentOS/RHEL 7 za prenos računarskih datoteka između klijenta i servera na računarskoj mreži.
U ovom članku ćemo opisati kako instalirati, konfigurirati i osigurati FTP server na RHEL 8 za osnovno dijeljenje datoteka između računara.
Instalirajte FTP server na RHEL 8
1. Da instalirate siguran FTP paket, koristite sljedeću dnf komandu.
dnf install vsftpd
2. Kada se instalacija završi, potrebno je da u međuvremenu pokrenete uslugu vsftpd, omogućite joj da se automatski pokreće pri pokretanju sistema, a zatim provjerite status koristeći sljedeće systemctl komande.
systemctl start vsftpd
systemctl enable vsftpd
systemctl status vsftpd
3. Zatim morate otvoriti FTP port 21 na zaštitnom zidu sistema da biste dozvolili pristup FTP uslugama sa vanjskih sistema.
firewall-cmd --zone=public --permanent --add-port=21/tcp
firewall-cmd --zone=public --permanent --add-port=45073/tcp
firewall-cmd --reload
Konfigurirajte FTP server na RHEL 8
4. Da biste konfigurirali FTP server, trebate napraviti sigurnosnu kopiju glavne FTP konfiguracijske datoteke /etc/vsftpd/vsftpd.conf
koristeći sljedeću naredbu za kopiranje.
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig
5. Zatim otvorite konfiguracionu datoteku koristeći svoj omiljeni uređivač komandne linije.
vi /etc/vsftpd/vsftpd.conf
Postavite sljedeće parametre sa ovim odgovarajućim vrijednostima (pogledajte man vsftpd.conf za značenje 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. Zatim morate konfigurirati FTP da korisnicima omogući/zabrani pristup FTP uslugama na osnovu datoteke liste korisnika /etc/vsftpd.userlist.
Prema zadanim postavkama, korisnicima navedenim u datoteci /etc/vsftpd.userlist
je odbijen pristup s opcijom userlist_deny
postavljenom na DA
, ako je userlist_enable =DA
, omogućava pristup.
Ali, postavljanje parametra userlist_deny=NO
mijenja postavku, što znači da će samo korisnicima koji su eksplicitno navedeni u userlist_file=/etc/vsftpd.userlist
biti dozvoljeno da se prijave.
Stoga, dodajte sljedeće linije u vaš vsftpd.conf
konfiguracijski fajl (ili ako već postoje, dekomentirajte ih 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 redove u vaš vsftpd.conf
konfiguracijski fajl 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
Sačuvajte promjene u datoteci i zatvorite je.
8. Postavite sljedeće SELinux booleovo pravilo da omogućite FTP-u da čita/piše fajlove korisničkog kućnog direktorija.
semanage boolean -m ftpd_full_access --on
9. Konačno ponovo pokrenite uslugu vsftpd kako biste utjecali na sve promjene koje smo do sada napravili iznad:
systemctl restart vsftpd
Testiranje FTP servera na RHEL 8
10. Da biste testirali da li gornja postavka FTP-a radi dobro, počnite kreiranjem FTP korisnika sa naredbom useradd i kreirajte 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 koristeći komandu echo kako slijedi.
echo "tecmint" | tee -a /etc/vsftpd.userlist
cat /etc/vsftpd.userlist
12. Zatim kreirajte alternativni lokalni korijenski direktorij za korisnika (tecmint, vaš je vjerovatno drugačiji) i postavite odgovarajuće dozvole za ovaj direktorij.
mkdir -p /home/tecmint/ftp
chown nobody:nobody /home/tecmint/ftp
chmod a-w /home/tecmint/ftp
13. Zatim kreirajte direktorij unutar lokalne korijenske lokacije, gdje će korisnik čuvati svoje datoteke.
mkdir /home/tecmint/ftp/files
chown tecmint:tecmint /home/tecmint/ftp/files
chmod 0700 /home/tecmint/ftp/files/
14. Sada se povežite na FTP server koristeći bilo koji FTP klijent na sljedeći način.
ftp [email
Sample Output
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 članku smo opisali kako instalirati, konfigurirati i osigurati FTP server u RHEL 8. U našem sljedećem članku ćemo pokazati kako osigurati FTP server korištenjem SSL/TLS veza. Do tada ostanite s nama.