Installere en FTP-server (vsftpd) på Ubuntu 18.04 / 18.10 / 19.04 / 19.10 (Norsk)

posted in: Articles | 0

Før du begynner…

Det er overraskende hvor mange web-utviklere er fortsatt uvitende om SFTP og fordeler over FTP/FTPS. SFTP kommer med Linux Server forhåndsinstallert, og fungerer akkurat som vanlig FTP, men er mer sikre og mindre stresset til å sette opp. Hvis FTP-klient støtter SFTP, bør du bruke den!

  • Hvordan du konfigurerer SFTP for en web-server dokument rot

Installer vsftpd

La oss begynne med å oppdatere pakkelisten og installere vsftpd på Ubuntu 18.04 / 18.10 / 19.04 / 19.10.,

Nedenfor har vi to kommandoer adskilt med &&. Den første kommandoen vil oppdatere pakkelisten for å sikre at du får den nyeste versjonen og avhengigheter for vsftpd. Den andre kommandoen vil deretter laste ned og installere vsftpd. Trykk på y og ENTER når du blir bedt om å fortsette.

sudo apt update && sudo apt install vsftpd

Når programmet er installert, kan du sjekke status for vsftpd

sudo service vsftpd status

Over kan vi se vår FTP-serveren er nå oppe og kjører.,

Konfigurere Firewall

Hvis du ikke allerede har gjort det, så det anbefales at du aktiverer ufw brannmur for Ubuntu 18.04 / 18.10 / 19.04 / 19.10. Før du aktiverer ufw brannmur, må du legge til en regel for SSH, ellers kan du få låst ut av din server hvis du er tilkoblet eksternt. Hvis du ikke ønsker å sette opp en brannmur, kan du gå til Trinn 3.

sudo ufw allow OpenSSH

La oss åpne port 20 og 21 for FTP, og havner 40000-50000 for passiv FTP. Vi vil også åpne port 990 for TLS, som vi vil sette opp senere.,

sudo ufw allow 20/tcp
sudo ufw allow 21/tcp
sudo ufw allow 40000:50000/tcp
sudo ufw allow 990/tcp

Nå, kan du aktivere brannmuren hvis det ikke allerede er det. Trykk på y og ENTER hvis advart om å forstyrre SSH-tilkobling.

sudo ufw enable

for Å sjekke status på brannmuren, kan du kjøre:

sudo ufw status

Hvis brannmuren er i gang, skal du se Status: active og brannmurregler vi nettopp har lagt til.

Opprette FTP Bruker

Vi vil nå opprette en ny bruker, som vi vil bruke til å logge inn på FTP., I dette eksemplet vil vi lage en ny bruker som heter ftpuser.

sudo adduser ftpuser

Generere sterke passord og holde det trygt.

Du kan også bli bedt om å skrive inn noen kontakt informasjon. Du kan bare trykk på ENTER til hver av disse.

Hvis du bare vil ftpuser for å logge inn via FTP, bør du deaktivere sine SSH tilgang med svartelister brukernavn i SSH-config-filen. Ellers går du til Trinn 4.

Åpne SSH config i nano.,

sudo nano /etc/ssh/sshd_config

Legg til følgende til bunnen av filen skifte ftpuser med brukeren du ønsker å nekte SSH og SFTP-tilgang. Du kan legge til flere brukere her, atskilt med et enkelt mellomrom. (Du kan lime inn i nano, og trykk høyre museknapp).

/etc/ssh/sshd_config
DenyUsers ftpuser

for Å lagre og avslutte, trykk på CTRL + X, trykk på Y og deretter på ENTER.

Starte SSH-tjeneste.,

sudo service sshd restart

– Katalogen Tillatelser

Du trenger nå å bestemme hvor denne nye FTP-bruker har lov til å vise og laste opp filer.

vsftpd bruker chroot arrester for å begrense brukere til sine hjemmeområder og krever at hjemmekatalogen er ikke skrivbar. Av den grunn har vi til å sette opp noen kataloger og tillatelser.

Hvis du planlegger å bruke denne FTP-brukerkonto for å laste opp filer til en webserver, kan du fortsette til Trinn 4.1. Hvis du bare ønsker å laste opp til en hjem-mappen, går du til Trinn 4.2.

4.1., Opplasting til en Web-Server

I mange tilfeller, du vil være i stand til å laste opp filer til dokumentet rot på web-serveren.

Hvis du har fulgt en tidligere guide her for å sette opp flere domener, dokumentet root kan være plassert på et sted som /var/www/test1.com/public_html – i dette tilfellet, må du angi hjem-mappe for ftpuser til mappen over dokument som root: /var/www/test1.com (erstatter test1.com for ditt eget domene).,

Hvis du ikke bruker flere domener, vil vi anta at du bruker standard dokument rot /var/www/html for både Apache og Nginx i Ubuntu 18.04 / 18.10 / 19.04 / 19.10. I dette tilfellet har vi å gjøre /var/www/ hjemmekatalogen for våre bruker ftpuser.

La oss sette mappe over dokumentet roten som hjemmekatalogen for ftpuser.

sudo usermod -d /var/www ftpuser

Dette vil tillate vår FTP-bruker til å skrive og endre filene i dokumentet root directory.,

sudo chown ftpuser:ftpuser /var/www/html

Nå kan du gå til Trinn 5 for å konfigurere vsftpd.

4.2 Laste opp til en Hjem-Mappe

Hvis du i stedet vil denne brukeren laste opp filer til hjemmekatalogen, oppretter du en ny mappe som heter ftp i brukerens hjemmekatalog og annet innen det som kalles files. I dette eksemplet nedenfor vår brukeren er kalt ftpuser.

sudo mkdir /home/ftpuser/ftp

Angi eierskap av ftp – katalog for å nei nobody:nogroup.,

sudo chown nobody:nogroup /home/ftpuser/ftp

Angi tillatelser for ftp directory ved hjelp av chmod slik at det er ikke skrivbar av alle, ellers vsftpd vil ikke tillate deg å logge inn. a-w midler a = alle/alle - = fjern w = skriv tillatelse, så, ta skriverettigheter for alle.

sudo chmod a-w /home/ftpuser/ftp

Neste vi vil opprette en ny mappe innenfor /ftp der brukeren kan vise og laste opp filer.,

sudo mkdir /home/ftpuser/ftp/files

Tildel eierskap til denne katalogen til vår nye FTP-bruker-ellers vil de ikke være i stand til å skrive til den.

sudo chown ftpuser:ftpuser /home/ftpuser/ftp/files

Konfigurer vsftpd

Det er noen endringer vi har å gjøre til vsftpd konfigurasjon filen før du kan begynne å bruke FTP på Ubuntu 18.04 / 18.10 / 19.04 / 19.10.

Før du redigere config fil, opprette en sikkerhetskopi.

sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

Nå, åpne konfigurasjonsfilen i nano redaktør.,

sudo nano /etc/vsftpd.conf

Dette er en ganske stor fil, men det er for det meste fylt med kommentarer for å hjelpe deg underveis.

Du trenger å gå ned filen og kontrollere at innstillingene samsvarer med de nedenfor. Merk: du kan søke i nano med CTRL + W

Se etter #write_enable=YES og uncomment det ved å fjerne # – tegnet. Dette vil tillate FTP-brukere å lagre filer til serveren.

etc/vsftpd.,conf
write_enable=YES

Se etter #chroot_local_user=YES og uncomment det ved å fjerne # – tegnet. Dette vil hindre FTP-brukere kan se utenfor sin egen katalog.

etc/vsftpd.conf
chroot_local_user=YES

Se etter #local_umask=022 og uncomment det ved å fjerne # – tegnet. Dette vil gi opplastede filer og mapper riktige tillatelser.

etc/vsftpd.conf
local_umask=022

Vi trenger nå å legge til noen direktiver som ikke finnes i filen.,

Siden Linux ikke vise filer som begynner med punktum, filer som .htaccess vil ikke være synlig i FTP. Dette kan være et problem hvis du har tenkt å bruke Apache og ønsker å jobbe med .htaccess.

for Å tvinge vsftpd for å vise filnavn som begynner med punktum, lim inn følgende til bunnen av filen. (Du kan lime inn i nano, og trykk høyre museknapp)

etc/vsftpd.conf
force_dot_files=YES

til Slutt, la oss legge til noen portområder for passiv FTP til å sørge for at nok tilkoblinger er tilgjengelige. Lim inn følgende til bunnen av filen., (Du kan lime inn i nano, og trykk høyre museknapp)

etc/vsftpd.conf
pasv_min_port=40000pasv_max_port=50000

Hvis du har fulgt Trinn 4.2 tidligere og bare vil denne brukeren laste opp filer til hjem-mappen, må vi fortelle vsftpd at local_root er /ftp mappe vi har opprettet tidligere.

ikke legg disse to linjene hvis du ønsker brukeren å laste opp til web-dokument rot!

etc/vsftpd.conf
user_sub_token=$USERlocal_root=/home/$USER/ftp

Vi er ferdig med vsftpd.conf for øyeblikket, men vil komme tilbake til i senere trinnene for å konfigurere sikkerhet og SSL.,

for Å lagre og avslutte, trykk på CTRL + X, trykk på Y og deretter på ENTER.

Start på nytt vsftpd.

sudo systemctl restart vsftpd

Test FTP

Vi kan nå teste vsftpd for å se om vi kan logge inn som en bruker-vi har opprettet tidligere. Vi anbefaler FileZilla, som fungerer på Windows, Mac og Linux.

skriv Inn serverens IP, FTP-brukernavnet og passordet som du opprettet tidligere, og klikk Quickconnect.,

Over kan vi se at vi har koblet riktig og web root katalogen html vises, selv om dette kan være annerledes på din server.

Prøv opplasting, opprette og redigere mapper og filer innen web root-katalogen for å sikre tillatelser fungerer som de skal.

vil Du merke at vi har en advarsel i FileZilla «Status: Usikker server, er det ikke støtte for FTP over TLS.»Det er sterkt anbefalt at du konfigurere TLS, slik at påloggingsinformasjon og trafikk er kryptert over FTP-tilkobling.,

Hvis du har problemer med pålogging til FTP-server, kan du prøve å sjekke vsftpd logg. For å vise de siste 200 oppføringer ved hjelp av tail:

sudo tail /var/log/vsftpd.log -n 200

Sikker FTP med TLS (valgfritt)

Det er viktig å holde noen ting i tankene når du bruker FTP – det er som standard ikke kryptert betyr legitimasjon og filer som du vil sende, er sårbare for avskjæring. For å løse dette bør du koble til vsftpd ved hjelp av FTP (FTP over SSL/TLS).

La oss begynne med å lage et nytt sertifikat med openssl verktøy.,

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Du vil bli bedt om å oppgi noen detaljer som land, etc. Du trenger ikke å fylle disse. Du kan bare trykk på ENTER for standarder.

Nå som private nøkkelen har blitt opprettet, er det noen endringer vi har å gjøre til vsftpd konfigurasjonsfilen.

Åpne konfigurasjonsfilen i nano redaktør.

sudo nano /etc/vsftpd.conf

Finn følgende linje: (Merk: du kan søke i nano med CTRL + W)

etc/vsftpd.,conf
ssl_enable=NO

Endre det slik:

etc/vsftpd.conf
ssl_enable=YES

Lim inn i den følgende under den.

etc/vsftpd.conf

Lagre filen, og avslutt (trykk på CTRL + X, trykk på Y og deretter på ENTER).

Start på nytt vsftpd.

sudo systemctl restart vsftpd

Testing TLS med FileZilla

Vi kan nå teste TLS. Vi anbefaler FileZilla, som fungerer på Windows, Mac og Linux.,

skriv Inn serverens IP, FTP-brukernavnet og passordet som du opprettet tidligere, og klikk Quickconnect.

Du kan bli presentert med et Ukjent Sertifikat advarsel. Klikk Alltid stole på at dette sertifikatet i fremtidige økter og klikk på OK.

Hvis du er koblet over TLS, det vil fortelle deg i forbindelse logg. Du vil også se en hengelås nederst i høyre hjørne.

Du er ferdig!,

4.79 (42 stemmer)

La meg vet hvis dette hjalp. Følg meg på Twitter, Facebook og YouTube, eller 🍊 kjøpe meg en smoothie.

p.s. Jeg økte min AdSense-inntekter 68% ved hjelp av AI 🤖. Les min Ezoic anmeldelsen for å finne ut hvordan.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *