Sådan installeres, konfigureres og sikres FTP-server i RHEL 8
FTP (står for "File Transfer Protocol") er en standard og gammel netværksprotokol, der bruges til overførsel af filer mellem en klient og server på et computernetværk. Det er bygget på en klientserver-modelarkitektur, der giver adgang til filer og mapper via en FTP-klient, for at uploade filer til serveren samt downloade filer fra den.
I vores tidligere artikel har vi forklaret, hvordan man installerer, konfigurerer og sikrer FTP-server i CentOS/RHEL 7 til overførsel af computerfiler mellem en klient og server på et computernetværk.
I denne artikel vil vi beskrive, hvordan du installerer, konfigurerer og sikrer en FTP-server på RHEL 8 til grundlæggende fildeling mellem computere.
Installer FTP-server på RHEL 8
1. Brug følgende dnf-kommando for at installere sikker FTP-pakke.
# dnf install vsftpd
2. Når installationen er afsluttet, skal du starte vsftpd-tjenesten i mellemtiden, aktivere den til at starte automatisk ved systemstart og derefter kontrollere status ved hjælp af følgende systemctl-kommandoer.
# systemctl start vsftpd # systemctl enable vsftpd # systemctl status vsftpd
3. Dernæst skal du åbne FTP-port 21 på system Firewall for at give adgang til FTP-tjenester fra eksterne systemer.
# firewall-cmd --zone=public --permanent --add-port=21/tcp # firewall-cmd --zone=public --permanent --add-port=45073/tcp # firewall-cmd --reload
Konfigurer FTP-server på RHEL 8
4. For at konfigurere en FTP-server skal du tage backup af den primære FTP-konfigurationsfil /etc/vsftpd/vsftpd.conf
ved hjælp af følgende kopikommando.
# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.orig
5. Åbn derefter konfigurationsfilen ved hjælp af din foretrukne kommandolinjeditor.
# vi /etc/vsftpd/vsftpd.conf
Indstil følgende parametre med disse tilsvarende værdier (se man vsftpd.conf for betydningen af konfigurationsparametrene):
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. Dernæst skal du konfigurere FTP for at give/nægte brugere adgang til FTP-tjenester baseret på brugerlistefilen /etc/vsftpd.userlist.
Som standard nægtes brugere, der er angivet i filen /etc/vsftpd.userlist
, adgang med indstillingen userlist_deny
indstillet til YES
, hvis userlist_enable = JA
, det giver adgang.
Men ved at indstille parameteren userlist_deny = NO
ændres indstillingen, hvilket betyder, at kun brugere, der udtrykkeligt er angivet i userlist_file =/etc/vsftpd.userlist
, får lov til at logge ind.
Tilføj derfor følgende linjer i din vsftpd.conf
konfigurationsfil (eller hvis der allerede findes, skal du fjerne kommentar til dem og indstille deres værdier som vist):
userlist_enable=YES # allow access to list of usernames from the userlist_file userlist_file=/etc/vsftpd.userlist # stores usernames. userlist_deny=NO
7. Tilføj nu følgende linjer i din vsftpd.conf
konfigurationsfil for at begrænse FTP-brugere til deres hjemmekataloger.
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
Gem ændringerne i filen, og luk den.
8. Indstil følgende SELinux boolske regel for at aktivere FTP til at læse/skrive filer i brugerens hjemmekatalog.
# semanage boolean -m ftpd_full_access --on
9. Genstart endelig vsftpd-tjenesten for at påvirke alle de ændringer, vi har foretaget indtil videre:
# systemctl restart vsftpd
Test af FTP-server på RHEL 8
10. For at teste, om ovenstående FTP-opsætning kører fint, skal du starte med at oprette en FTP-bruger med kommandoen useradd og oprette en adgangskode til den bruger.
# useradd -m -c "Tecmint HowTos" -s /bin/bash tecmint # passwd tecmint
11. Føj derefter brugerens tecmint til filen /etc/vsftpd.userlist ved hjælp af ekkokommandoen som følger.
# echo "tecmint" | tee -a /etc/vsftpd.userlist # cat /etc/vsftpd.userlist
12. Opret derefter den alternative lokale rodmappe til brugeren (tecmint, din er sandsynligvis anderledes), og indstil de relevante tilladelser til denne mappe.
# mkdir -p /home/tecmint/ftp # chown nobody:nobody /home/tecmint/ftp # chmod a-w /home/tecmint/ftp
13. Opret derefter et bibliotek inden for den lokale rodplacering, hvor brugerens gemmer sine filer.
# mkdir /home/tecmint/ftp/files # chown tecmint:tecmint /home/tecmint/ftp/files # chmod 0700 /home/tecmint/ftp/files/
14. Opret nu forbindelse til FTP-serveren ved hjælp af en hvilken som helst FTP-klient som følger.
# 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
Det er det! I denne artikel beskrev vi, hvordan man installerer, konfigurerer såvel som sikrer en FTP-server i RHEL 8. I vores næste artikel vil vi vise, hvordan man sikrer FTP-server ved hjælp af SSL/TLS-forbindelser. Indtil da, bliv hos os.