Sett opp en FTP-server på Linux
File Transfer Protocol (FTP) er en vanlig brukt nettverksprotokoll som brukes til å overføre filer mellom to datamaskiner. Protokollen er basert på en klient-server-arkitektur. En av datamaskinene kjører et FTP-serverprogram, mens den andre datamaskinen kjører et FTP-klientprogram, som kan laste ned eller laste opp filer til serverdatamaskinen basert på tillatelser.
Vanligvis må brukere som får tilgang til FTP-serveren autentisere seg med brukernavn og passord, men serveren kan også konfigureres for å tillate tilgang til anonyme brukere.
Nesten alle populære operativsystemer som Windows, GNU/Linux, Mac OS har en FTP-server og klientprogrammer tilgjengelig. I denne artikkelen vil vi se hvordan du setter opp en FTP-server på et Ubuntu-system.
Installasjon
I Ubuntu, programmet vsftpd
, som står for Veldig sikker FTP-demon er et populært FTP-serverprogram, som kan kjøres som en demon, dvs. som en bakgrunnsprosess, som de fleste servere.
Dette programmet er tilgjengelig i Ubuntu standard repository. For å installere det, kjør:
sudo apt install vsftpd
Merk: For Ubuntu-versjoner < 14.04, bruk apt-get
i stedet for apt
.
Etter installasjonen vsftpd
daemon skal starte automatisk. For å sjekke om den har startet riktig, kjør:
tjeneste vsftpd status
Hvis status ikke er det Aktiv
, dvs. den har ikke startet ordentlig, kjør følgende kommando for å starte den, og kontroller statusen igjen etter å ha kjørt den for å se om den er nå Aktiv
.
sudo service vsftpd start
Konfigurasjon
Konfigurasjonsfilen for vsftpd
er /etc/vsftpd.conf
. Det er en rekke konfigurasjonsalternativer tilgjengelig her. Vi vil endre to alternativer som vanligvis kreves.
Åpne filen med enten vim eller et hvilket som helst redigeringsprogram du ønsker.
sudo vim /etc/vsftpd.conf
Som standard er anonym tilgang til FTP-serveren ikke tillatt. For å tillate anonym tilgang endrer vi variabelen anonym_aktiver
fra NEI
til JA
i filen.
For anonym tilgang, en bruker med navnet ftp
opprettes under installasjonen. Standardkatalogen for tilgang til en anonym bruker er /srv/ftp
, som faktisk er brukerens hjemmekatalog ftp
. Alle filer som skal deles med anonyme brukere må kopieres her.
Hvis katalogen for anonym tilgang skal endres, må vi endre hjemmekatalogen til brukeren ftp
. For å gjøre dette, kjør:
sudo usermod -d ftp
Som standard er skrivetilgang, dvs. opplastingstilgang, til FTP-serveren ikke tillatt. For å aktivere det, fjerner vi kommentering av linjen med variabel write_enable=JA
.
Lagre og avslutt filen. Hvis du bruker vim, trykk Flukt
for å gå til vim-kommandomodus, skriv deretter :wq
og trykk Tast inn
for å lagre og avslutte filen.
Vi må starte FTP-serverdemonen på nytt for at disse endringene skal tre i kraft. For å starte den på nytt, kjør:
sudo service vsftpd omstart
Tester serveren
De fleste moderne nettlesere har innebygd støtte for tilgang til FTP-servere, det vil si at de kan fungere som integrerte FTP-klienter. De støtter imidlertid bare nedlasting av filer fra serveren, og ikke opplasting.
Last ned test
Tast inn ftp://
i adressefeltet til nettleseren for å få tilgang til FTP-serveren, hvor er IP-adressen, eller domenenavnet, til FTP-serveren. For å teste din lokale FTP-server, skriv inn
ftp:://127.0.0.1
Merk at siden anonym tilgang ble aktivert, viser serveren oss en katalogliste over mappen vi aktivert for anonym tilgang, nemlig. /srv/filer/ftp
.
La oss endre konfigurasjonsfilen for å deaktivere anonym tilgang nå og teste tilgang med brukerinnlogging.
sudo vim /etc/vsftpd.conf
Endre variabelen anonym_aktiver
til NEI
.
Lagre og avslutt filen. Start FTP-serveren på nytt for at disse endringene skal finne sted.
sudo service vsftpd omstart
Åpne samme URL igjen i nettleseren (ftp://127.0.0.1
).
Som vi kan se, ber serveren oss nå om å skrive inn brukernavn og passord. Skriv inn legitimasjonen og trykk OK
.
Nå er katalogoppføringen av hjemmekatalogen til den påloggede brukeren. I dette tilfellet er det det /hjem/abhi
.
Last opp test
Nettlesere tillater kun nedlasting av filer fra FTP-servere. For å laste opp filer til en FTP-server, får vi tilgang til serveren fra en filutforsker.
I Ubuntu vil vi bruke standard filutforsker, Nautilus. Åpne Nautilus ved å klikke på ikonet fra dokken, eller søk det fra Dash og åpne det.
Klikk på Andre steder
helt nederst.
Helt nederst, skriv inn vår FTP-server URL(ftp:://127.0.0.1
) i Koble til server-inndataboksen, og trykk på 'Koble til'-knappen.
Merk av for "Registered User" og skriv inn brukernavn og passord. Du kan velge ett av de tre alternativene for å huske passordet som er angitt ovenfor. Til slutt trykker du på "Koble til"-knappen øverst i vinduet.
Nå kan vi enkelt kopiere eller lage filer på FTP-serveren på den vanlige måten vi gjør i en filutforsker. FTP-serveren vises på venstre side som vist nedenfor.
Nmerknad: Selv om vsftpd
kan konfigureres for skrivetilgang til anonyme brukere, dette er en stor sikkerhetsrisiko for systemet og må aldri brukes! Opplasting til FTP-server må bare være aktivert for systembrukere.
Konklusjon
På denne måten kan vi sette opp en FTP-server på Ubuntu. Pass på at du prøver å få tilgang til dette fra et annet system i nettverket ditt, i så fall må du gå inn ftp://Din_IP_adresse
i stedet for ftp://127.0.0.1
i det andre systemets nettleser.
Merk at de fleste FTP-serverprogrammer er sikret for å kryptere det overførte innholdet ved hjelp av SSL/TLS (kalt FTPS) eller ved å bruke SSH FTP. vsftpd
bruker FTPS i sin implementering.