Kuinka asentaa, määrittää ja suojata FTP-palvelin RHEL 8: ssa
FTP (lyhenne sanoista “File Transfer Protocol”) on vakio ja vanha verkkoprotokolla, jota käytetään tiedostojen siirtämiseen asiakkaan ja palvelimen välillä tietokoneverkossa. Se on rakennettu asiakas-palvelinmalliarkkitehtuuriin, joka tarjoaa pääsyn tiedostoihin ja hakemistoihin FTP-asiakkaan kautta tiedostojen lataamiseksi palvelimelle sekä tiedostojen lataamiseksi siitä.
Edellisessä artikkelissamme olemme selittäneet, kuinka FOS-palvelin asennetaan, konfiguroidaan ja suojataan CentOS/RHEL 7 -tietokoneessa tiedostojen siirtämistä varten asiakkaan ja palvelimen välillä tietokoneverkossa.
Tässä artikkelissa kuvataan, kuinka FTP-palvelin asennetaan, määritetään ja suojataan RHEL 8: lle tiedostojen jakamista varten tietokoneiden välillä.
Asenna FTP-palvelin RHEL 8: een
1. Asenna suojattu FTP-paketti seuraavalla dnf-komennolla.
# dnf install vsftpd
2. Kun asennus on valmis, sinun on käynnistettävä vsftpd-palvelu sillä välin, sallittava sen käynnistyminen automaattisesti järjestelmän käynnistyksen yhteydessä ja tarkistaa sitten tila seuraavilla systemctl-komennoilla.
# systemctl start vsftpd # systemctl enable vsftpd # systemctl status vsftpd
3. Seuraavaksi sinun on avattava FTP-portti 21 järjestelmän palomuurissa, jotta FTP-palveluihin pääsee ulkoisista järjestelmistä.
# firewall-cmd --zone=public --permanent --add-port=21/tcp # firewall-cmd --zone=public --permanent --add-port=45073/tcp # firewall-cmd --reload
Määritä FTP-palvelin RHEL 8: lla
4. FTP-palvelimen määrittämiseksi sinun on tehtävä varmuuskopio FTP-kokoonpanotiedostosta /etc/vsftpd/vsftpd.conf
seuraavaa kopiointikomentoa käyttämällä.
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig
5. Avaa sitten määritystiedosto suosikkikomentorivieditorilla.
# vi /etc/vsftpd/vsftpd.conf
Aseta seuraavat parametrit näillä vastaavilla arvoilla (katso konfigurointiparametrien merkitykset kohdasta 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. Seuraavaksi sinun on määritettävä FTP sallimaan/estämään käyttäjien pääsy FTP-palveluihin käyttäjäluettelotiedoston /etc/vsftpd.userlist perusteella.
Oletusarvon mukaan /etc/vsftpd.userlist
-tiedostossa luetelluilta käyttäjiltä evätään pääsy userlist_deny
-asetukseksi, joka on asetettu YES
, jos userlist_enable = KYLLÄ
, se mahdollistaa pääsyn.
Mutta parametrin userlist_deny = NO
asettaminen muuttaa asetusta, mikä tarkoittaa, että vain käyttäjät, jotka on nimenomaisesti lueteltu kohdassa userlist_file =/etc/vsftpd.userlist
, voivat kirjautua sisään.
Lisää sen vuoksi seuraavat rivit vsftpd.conf
-määritystiedostoon (tai jos sellaisia on jo olemassa, poista niistä kommentit ja aseta niiden arvot kuvan mukaisesti):
userlist_enable=YES # allow access to list of usernames from the userlist_file userlist_file=/etc/vsftpd.userlist # stores usernames. userlist_deny=NO
7. Lisää nyt seuraavat rivit vsftpd.conf
-määritystiedostoon rajoittaaksesi FTP-käyttäjien kotihakemistoihin.
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
Tallenna muutokset tiedostoon ja sulje se.
8. Määritä seuraava SELinux-looginen sääntö, jotta FTP voi lukea/kirjoittaa käyttäjän kotihakemiston tiedostoja.
# semanage boolean -m ftpd_full_access --on
9. Käynnistä lopuksi vsftpd-palvelu uudelleen, jotta se vaikuttaa kaikkiin yllä tekemiinne muutoksiin:
# systemctl restart vsftpd
FTP-palvelimen testaaminen RHEL 8: lla
10. Voit testata, toimiiko yllä oleva FTP-asennus hyvin, aloittamalla luomalla FTP-käyttäjä useradd -komennolla ja luomalla tälle käyttäjälle salasana.
# useradd -m -c "Tecmint HowTos" -s /bin/bash tecmint # passwd tecmint
11. Lisää sitten käyttäjän tecmint tiedostoon /etc/vsftpd.userlist käyttämällä kaiku-komentoa seuraavasti.
# echo "tecmint" | tee -a /etc/vsftpd.userlist # cat /etc/vsftpd.userlist
12. Luo sitten vaihtoehtoinen paikallinen juurihakemisto käyttäjälle (tecmint, sinun on todennäköisesti erilainen) ja aseta tarvittavat oikeudet tähän hakemistoon.
# mkdir -p /home/tecmint/ftp # chown nobody:nobody /home/tecmint/ftp # chmod a-w /home/tecmint/ftp
13. Luo seuraavaksi paikallisen juuripaikan sisään hakemisto, jossa käyttäjän tulee säilyttää tiedostojaan.
# mkdir /home/tecmint/ftp/files # chown tecmint:tecmint /home/tecmint/ftp/files # chmod 0700 /home/tecmint/ftp/files/
14. Yhdistä nyt FTP-palvelimeen millä tahansa FTP-asiakkaalla seuraavasti.
# 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
Se siitä! Tässä artikkelissa kuvattiin, kuinka FTP-palvelin asennetaan, konfiguroidaan ja suojataan RHEL 8: ssa. Seuraavassa artikkelissamme näytetään, kuinka FTP-palvelin voidaan suojata SSL/TLS-yhteyksillä. Siihen asti, pysy kanssamme.