Kuinka asentaa, määrittää ja suojata FTP-palvelin RHEL 8:ssa
FTP (lyhenne sanoista File Transfer Protocol) on standardi ja vanha verkkoprotokolla, jota käytetään tiedostojen siirtämiseen asiakkaan ja palvelimen välillä tietokoneverkossa. Se on rakennettu asiakas-palvelin-malliarkkitehtuurille, joka tarjoaa pääsyn tiedostoihin ja hakemistoihin FTP-asiakkaan kautta tiedostojen lataamiseksi palvelimelle sekä tiedostojen lataamiseksi sieltä.
Edellisessä artikkelissamme olemme selittäneet, kuinka FTP-palvelin asennetaan, määritetään ja suojataan CentOS/RHEL 7:ssä tietokonetiedostojen siirtämiseksi asiakkaan ja tietokoneverkon palvelimen välillä.
Tässä artikkelissa kuvataan, kuinka FTP-palvelin asennetaan, määritetään ja suojataan RHEL 8:ssa tietokoneiden välistä perustiedostojen jakamista varten.
Asenna FTP-palvelin RHEL 8:aan
1. Asenna suojattu FTP-paketti käyttämällä seuraavaa dnf-komentoa.
dnf install vsftpd
2. Kun asennus on valmis, sinun on käynnistettävä vsftpd-palvelu sillä välin, otettava se käyttöön automaattisesti järjestelmän käynnistyksen yhteydessä ja tarkistettava 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 voit käyttää FTP-palveluita 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:ssa
4. FTP-palvelimen määrittämistä varten sinun on varmuuskopioitava pää FTP-määritystiedosto /etc/vsftpd/vsftpd.conf
käyttämällä seuraavaa kopiointikomentoa.
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig
5. Avaa sitten määritystiedosto suosikkikomentorivieditorillasi.
vi /etc/vsftpd/vsftpd.conf
Aseta seuraavat parametrit näillä vastaavilla arvoilla (katso man vsftpd.conf määritysparametrien merkitykset):
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 tai estämään käyttäjien pääsy FTP-palveluihin käyttäjäluettelotiedoston /etc/vsftpd.userlist perusteella.
Oletuksena /etc/vsftpd.userlist
-tiedostossa lueteltujen käyttäjien pääsy estetään userlist_deny
-asetuksen ollessa YES
, jos userlist_enable =KYLLÄ
, se mahdollistaa pääsyn.
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ää siksi seuraavat rivit vsftpd.conf
-määritystiedostoosi (tai jos ne on jo olemassa, poista ne 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ääritystiedostoosi rajoittaaksesi FTP-käyttäjien kotihakemistoihinsa.
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. Aseta seuraava SELinuxin boolen 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 vaikuttaaksesi kaikkiin yllä oleviin muutoksiin:
systemctl restart vsftpd
Testataan FTP-palvelinta RHEL 8:ssa
10. Voit testata, toimiiko yllä oleva FTP-asetus hyvin, luomalla ensin 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ä tecmint tiedostoon /etc/vsftpd.userlist käyttämällä echo-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 luultavasti erilainen) ja määritä tarvittavat käyttöoikeudet tälle hakemistolle.
mkdir -p /home/tecmint/ftp
chown nobody:nobody /home/tecmint/ftp
chmod a-w /home/tecmint/ftp
13. Luo seuraavaksi paikalliseen juurisijaintiin hakemisto, jossa käyttäjä säilyttää tiedostonsa.
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
Näytelähtö
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 kuvailimme, kuinka FTP-palvelin asennetaan, määritetään ja suojataan RHEL 8:ssa. Seuraavassa artikkelissamme näytämme, kuinka FTP-palvelin suojataan SSL/TLS-yhteyksillä. Siihen asti, pysy kanssamme.