Server

Hvordan sette opp FTP-server på CentOS

Hvordan sette opp FTP-server på CentOS

Hvis du setter opp en FTP (File Transfer Protocol) -server på Linux-PC-en din, kan du overføre filer mellom systemet og en ekstern maskin. Vi viser deg hvordan du setter opp en FTP-server på CentOS.

Linux har allerede massevis av open source FTP-servere som du kan bruke til jobben. Dette inkluderer populære servere som PureFTPd, ProFTPD, samt vsftpd.

Du har lov til å bruke hvilken som helst av FTP-serverne som du vil. I denne opplæringen vil vi imidlertid installere og bruke vsftpd, forkortelse for Very Secure FTP Daemon. Det er en rask, stabil og sikker FTP-server som hjelper deg med å overføre filer til og fra et eksternt system i en smule.

Sette opp FTP-server på CentOS

Så uten videre, la oss komme i gang:

Installere vsftpd

Først må vi installere vsftpd på CentOS. For å gjøre dette, skriv inn følgende kommando i terminalen:

$ sudo dnf installere vsftpd

Installere vsftpd på CentOS

Med vsftpd installert på CentOS-systemet ditt, bør du konfigurere det slik at det starter og starter automatisk. Dette kan gjøres ved hjelp av følgende kommando:

$ sudo systemctl aktiver vsftpd - nå

Når det er gjort, verifiser du tjenestestatusen vsftpd ved å skrive inn denne kommandoen:

$ sudo systemctl status vsftpd

En utgangsskjerm som ligner på den nedenfor vises. Du bør se at vsftpd ikke er "Aktiv" på CentOS-systemet ditt.

vsftpd aktiv og kjører på CentOS

Oppsett vsftpd

Med vsftpd aktiv og kjører på systemet ditt, må du konfigurere serverinnstillingene. For å gjøre det, må du få tilgang til / etc / vsftpd / vsftpd.conf konfigurasjonsfil. Dette kan gjøres ved å åpne konfigurasjonsfilen i nano-editoren ved å skrive inn følgende kommando i terminalen:

$ sudo nano / etc / vsftpd / vsftpd.konf

Med filen nå åpnet i redigeringsprogrammet, er det flere endringer du trenger å gjøre for å sette opp vsftpd på systemet ditt. La oss gå over dem en etter en.

1. Konfigurer FTP-tilgang

La oss først konfigurere FTP-serveren slik at den kun tillater tilgang til de lokale brukerne. For å gjøre dette må du finne direktivene anonym_enable og local_enable i filen og redigere dem som vist i bildet nedenfor:

Innstillinger for FTP-tilgang

Som du kan se, må du angi anonym_enable = NO og local_enable = YES.

2. Aktiver opplastinger

Deretter må du konfigurere FTP-serveren slik at den kan lastes opp og slettes.

For å gjøre dette, må du finne directive-direktivet og endre det til YES, som vist på bildet.

Mulighet for å aktivere vsftpd-opplastinger

3. Begrens brukerinnlogginger

Når du er ferdig, vil du begrense det totale antallet brukerinnlogginger i.e., du vil bare at enkelte brukere skal logge på FTP-serveren din. For å gjøre dette må du først finne denne linjen i .conf-fil - userlist_enable = JA. Deretter legger du til disse to linjene i filen:

userlist_file = / etc / vsftpd / user_list userlist_deny = NO

Bruk bildet nedenfor som referanse:

Innstillinger for å begrense brukerinnlogginger

Du kan også velge å aktivere dette alternativet. Hvis du gjør det, må du eksplisitt spesifisere hvilke brukere du vil gi tilgang til FTP-serveren. For å tillate brukerne, må du legge til brukernavnene deres i / etc / vsftpd / user_list-filen med bare ett brukernavn i hver linje.

4. Sett opp passive FTP-tilkoblinger

Det kan også være lurt å sette opp passive FTP-tilkoblinger.

Som sådan vil vi her vise deg hvordan du kan spesifisere minimums- og maksimumsområdene for portene ved å legge til et par linjer inne i .conf-fil.

Sette opp passive FTP-tilkoblinger

Alt du trenger å gjøre er å bla ned til slutten av filen og legge til disse to linjene, som vist på bildet.

pasv_min_port = 30000 pasv_max_port = 31000

Vi vil også diskutere hvordan du kan åpne området i brannmuren din senere i denne opplæringen.

5. Konfigurer sikre overføringer ved hjelp av SSL / TLS

Til slutt kommer spørsmålet om å sikre FTP-tilkoblingen ved hjelp av SSL / TLS. For å gjøre dette må du ha et SSL-sertifikat og konfigurere FTP-serveren slik at den kan brukes.

Av hensyn til denne opplæringen vil vi imidlertid generere et selvsignert SSL-sertifikat ved hjelp av OpenSSL-verktøyet og deretter bruke det til å kryptere FTP-overføringen vår.

Så først og fremst må du bruke OpenSSL for å generere et nytt SSL-sertifikat. Du kan gjøre dette ved å skrive inn følgende kommando i terminalen:

sudo openssl req -x509 -noder-dager 3650 -nøkkel nøkkel rsa: 2048 -nøkkel / etc / vsftpd / vsftpd.pem -out / etc / vsftpd / vsftpd.pem

Opprette et selvsignert OpenSSL-sertifikat i CentOS

Å kjøre kommandoen ovenfor genererer en 2048-bit privat nøkkel, samt et selvsignert sertifikat. Begge disse er gyldige i ti år og lagres i samme fil.

Etter at du har opprettet ditt nye SSL-sertifikat, åpner du vsftpd-konfigurasjonsfilen ved hjelp av forrige kommando:

sudo nano / etc / vsftpd / vsftpd.konf

Rull ned og legg til følgende linjer som vist på bildet:

rsa_cert_file = / etc / vsftpd / vsftpd.pem rsa_private_key_file = / etc / vsftpd / vsftpd.pem ssl_enable = JA

Konfigurere SSL-innstillinger for vsftpd

Og det er det. Du har konfigurert SSL-sertifikatet for FTP-serveren.

6. Fullfør

Når du er ferdig, må du sjekke vsftpd-konfigurasjonsfilen for å se om alle følgende innstillinger er som de er:

anonym_enable = NEI local_enable = JA write_enable = JA local_umask = 022 dirmessage_enable = JA xferlog_enable = JA connect_from_port_20 = JA xferlog_std_format = JA lytter = NEI listen_ipv6 = JA pam_service_name = vsftpd brukerliste = bruker_liste = bruker_liste = bruker_liste = bruker pasv_max_port = 31000 rsa_cert_file = / etc / vsftpd / vsftpd.pem rsa_private_key_file = / etc / vsftpd / vsftpd.pem ssl_enable = JA

Etter at du har sørget for at alle endringene ovenfor er gjort i filen, må du lagre den. Når du er lagret, start vsftpd-tjenesten på nytt med følgende kommando:

$ sudo systemctl starter vsftpd på nytt

Konfigurer brannmuren

Hvis du har en brannmur aktivert sammen med FTP-serveren, må du konfigurere brannmuren slik at den tillater FTP-overføringer.

For å gjøre dette må du skrive inn følgende kommandoer i terminalen:

$ sudo firewall-cmd --permanent --add-port = 20-21 / tcp

Ovennevnte kommando åpner port 21 - som er FTP-kommandoporten, og port 20 - som er FTP-dataporten.

Du må også angi denne kommandoen også:

$ sudo firewall-cmd --permanent --add-port = 30000-31000 / tcp

Denne kommandoen åpner 30000-31000 passive porter, som vi konfigurerte tidligere.

Tillater vsftpd-serveren å passere gjennom CentOS-brannmuren

Når du er ferdig, må du laste brannmuren på nytt med følgende kommando:

$ brannmur-cmd - på nytt

Hvordan lage en ny FTP-bruker

Nå som du har konfigurert vsftpd-serveren din på CentOS-systemet ditt, er det på tide å opprette en ny FTP-bruker og teste den ut.

La oss først opprette en ny FTP-bruker (newftpuser) ved å bruke følgende kommando:

$ sudo adduser newftpuser

Deretter må du angi et passord for den nye brukeren. For å gjøre dette, bruk denne kommandoen:

$ sudo passwd newftpuser

Forsikre deg om at passordet er sterkt og lenger enn åtte tegn.

Opprette en ny FTP-bruker

Etter at du har opprettet den nye brukeren, må du legge den til i FTP-brukerlisten. Dette kan gjøres ved å skrive inn følgende kommando i terminalen:

$ echo "newftpuser" | sudo tee -a / etc / vsftpd / user_list

Til slutt må du opprette et FTP-katalogtre der du vil angi alle riktige tillatelser. For å gjøre dette må du skrive inn følgende serie med kommandoer i terminalen:

$ sudo mkdir -p / home / newftpuser / ftp / upload $ sudo chmod 550 / home / newftpuser / ftp $ sudo chmod 750 / home / newftpuser / ftp / upload $ sudo chown -R newftpuser: / home / newftpuser / ftp

Opprett et FTP-katalogtreet

Nå er FTP-serveren din fullt funksjonell og klar til bruk. Du kan nå koble til den ved hjelp av en hvilken som helst FTP-klient som FileZilla. Bare vær sikker på at FTP-klienten også kan konfigureres til å bruke TLS-kryptering ettersom den blir brukt til å kryptere FTP-overføringene.

Deaktiver shell-tilgang

En ting du bør huske på når du oppretter en ny FTP-bruker, er at med mindre brukeren spesifikt er spesifisert, vil brukeren ha SSH-tilgang til serveren.

Hvis du vil deaktivere skalltilgang fra brukeren, må du opprette et nytt skall som vil skrive ut en melding som informerer brukeren om at “Denne kontoen er begrenset til bare FTP-tilgang.”

For å gjøre dette må du skrive inn følgende kommando i terminalen:

$ echo -e '#!/ bin / sh \ necho "Denne kontoen er begrenset til FTP-tilgang."'| sudo tee -a / bin / ftponly $ sudo chmod a + x / bin / ftponly

Ovennevnte kommando vil opprette / bin / ftponly-skallet og utføre det.

Deretter må du legge til det nye skallet i listen over gyldige skall som ligger inne i / etc / skjell fil. Dette gjøres ved hjelp av følgende kommando:

$ echo "/ bin / ftponly" | sudo tee -a / etc / skjell

Og som det siste trinnet, er alt du trenger å gjøre å endre brukerskallet til / bin / ftponly ved hjelp av denne kommandoen:

$ sudo usermod newftpuser -s / bin / ftponly

Også for fremtidige FTP-brukere kan du bruke den samme kommandoen til å endre skallet slik at de bare kan ha FTP-tilgang.

Shadow of the Tomb Raider for Linux Tutorial
Shadow of the Tomb Raider er det tolvte tilskuddet til Tomb Raider-serien - et action-eventyrspill-franchise opprettet av Eidos Montreal. Spillet ble ...
Hvordan øke FPS i Linux?
FPS står for Bilder per sekund. FPSs oppgave er å måle bildefrekvensen i videoavspilling eller spillprestasjoner. Med enkle ord betegnes antall uavbru...
Topp Oculus App Lab-spill
Hvis du er Oculus-hodesettinnehaver, må du være klar over sideloading. Sidelading er prosessen med å installere ikke-butikkinnhold på hodesettet. Side...