Kā instalēt, konfigurēt un aizsargāt FTP serveri RHEL 8


FTP (apzīmē “File Transfer Protocol”) ir standarta un vecs tīkla protokols, ko izmanto datņu pārsūtīšanai starp klientu un serveri datortīklā. Tas ir veidots uz klienta-servera modeļa arhitektūras, kas ar FTP klienta starpniecību piedāvā piekļuvi failiem un direktorijiem, lai failus augšupielādētu serverī, kā arī lejupielādētu failus no tā.

Iepriekšējā rakstā mēs esam paskaidrojuši, kā instalēt, konfigurēt un aizsargāt FTP serveri CentOS/RHEL 7 datora failu pārsūtīšanai starp klientu un serveri datortīklā.

Šajā rakstā mēs aprakstīsim, kā FTP serveri instalēt, konfigurēt un drošināt RHEL 8 pamata failu koplietošanai starp datoriem.

Instalējiet FTP serveri RHEL 8

1. Lai instalētu drošu FTP pakotni, izmantojiet šādu komandu dnf.

# dnf install vsftpd

2. Kad instalēšana ir pabeigta, jums tikmēr jāuzsāk pakalpojums vsftpd, jāļauj tam automātiski startēt sistēmas sāknēšanas laikā un pēc tam jāpārbauda statuss, izmantojot šādas systemctl komandas.

# systemctl start vsftpd
# systemctl enable vsftpd
# systemctl status vsftpd

3. Pēc tam sistēmas ugunsmūrī jāatver FTP ports 21, lai atļautu piekļuvi FTP pakalpojumiem no ārējām sistēmām.

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

Konfigurējiet FTP serveri RHEL 8

4. Lai konfigurētu FTP serveri, jums ir jāveic galvenā FTP konfigurācijas faila /etc/vsftpd/vsftpd.conf dublējums, izmantojot šādu komandu kopija.

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

5. Pēc tam atveriet konfigurācijas failu, izmantojot iecienīto komandrindas redaktoru.

# vi /etc/vsftpd/vsftpd.conf

Iestatiet šādus parametrus ar šīm atbilstošajām vērtībām (konfigurācijas parametru nozīmes skatiet man vsftpd.conf):

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. Tālāk jums jākonfigurē FTP, lai atļautu/liegtu lietotājiem piekļuvi FTP pakalpojumiem, pamatojoties uz lietotāju saraksta failu /etc/vsftpd.userlist.

Pēc noklusējuma failā /etc/vsftpd.userlist uzskaitītajiem lietotājiem tiek liegta piekļuve, izmantojot opciju userlist_deny , kas iestatīta uz YES , ja userlist_enable = JĀ , tas ļauj piekļūt.

Bet, iestatot parametru userlist_deny = NO , iestatījums tiek mainīts, tas nozīmē, ka drīkst pieteikties tikai tiem lietotājiem, kuri ir skaidri uzskaitīti userlist_file =/etc/vsftpd.userlist .

Tāpēc konfigurācijas failā vsftpd.conf pievienojiet šādas rindas (vai, ja tādas jau pastāv, atcelt tās no komentāriem un iestatīt to vērtības, kā parādīts):

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

7. Tagad pievienojiet šīs rindiņas konfigurācijas failā vsftpd.conf , lai ierobežotu FTP lietotāju piekļuvi viņu mājas direktorijiem.

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   	

Saglabājiet izmaiņas failā un aizveriet to.

8. Iestatiet šādu SELinux būla kārtulu, lai FTP ļautu lasīt/rakstīt lietotāja mājas direktorija failus.

# semanage boolean -m ftpd_full_access --on

9. Visbeidzot restartējiet pakalpojumu vsftpd, lai ietekmētu visas iepriekš veiktās izmaiņas:

# systemctl restart vsftpd

FTP servera testēšana uz RHEL 8

10. Lai pārbaudītu, vai iepriekš minētā FTP iestatīšana darbojas labi, vispirms izveidojiet FTP lietotāju ar komandu useradd un izveidojiet šim lietotājam paroli.

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

11. Pēc tam pievienojiet lietotāja tecmint failam /etc/vsftpd.userlist, izmantojot komandu echo šādi.

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

12. Pēc tam izveidojiet lietotājam alternatīvo vietējo saknes direktoriju (tecmint, iespējams, jūsu īpašums ir atšķirīgs) un iestatiet atbilstošās atļaujas šajā direktorijā.

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

13. Pēc tam vietējā saknes vietā izveidojiet direktoriju, kurā lietotājs glabās savus failus.

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

14. Tagad izveidojiet savienojumu ar FTP serveri, izmantojot jebkuru FTP klientu, šādi.

# ftp [email 
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

Tieši tā! Šajā rakstā mēs aprakstījām, kā FTP serveri instalēt, konfigurēt, kā arī nodrošināt RHEL 8. Nākamajā rakstā mēs parādīsim, kā FTP serveri aizsargāt, izmantojot SSL/TLS savienojumus. Līdz tam paliec pie mums.