Konfigurer en FTP-server på Linux
File Transfer Protocol (FTP) er en almindeligt brugt netværksprotokol, der bruges til at overføre filer mellem to computere. Protokollen er baseret på en klient-server-arkitektur. En af computerne kører et FTP-serverprogram, mens den anden computer kører et FTP-klientprogram, som kan downloade eller uploade filer til servercomputeren baseret på tilladelser.
Normalt skal brugere, der får adgang til FTP-serveren, godkendes med et brugernavn og en adgangskode, men serveren kan også konfigureres til at give adgang til anonyme brugere.
Næsten alle populære operativsystemer som Windows, GNU/Linux, Mac OS har en FTP-server og klientprogrammer tilgængelige. I denne artikel vil vi se, hvordan man opsætter en FTP-server på et Ubuntu-system.
Installation
I Ubuntu, programmet vsftpd
, som står for Meget sikker FTP-dæmon er et populært FTP-serverprogram, som kan køres som en dæmon, dvs. som en baggrundsproces, som de fleste servere.
Dette program er tilgængeligt i Ubuntu standard repository. For at installere det, kør:
sudo apt install vsftpd
Bemærk: For Ubuntu-versioner < 14.04, brug apt-get
i stedet for passende
.
Efter installationen vsftpd
daemon bør starte automatisk. For at kontrollere, om den er startet korrekt, skal du køre:
service vsftpd status
Hvis status ikke er Aktiv
, dvs. den er ikke startet korrekt, kør følgende kommando for at starte den, og kontroller status igen efter at have kørt den for at se, om den er nu Aktiv
.
sudo service vsftpd start
Konfiguration
Konfigurationsfilen til vsftpd
er /etc/vsftpd.conf
. Der er en række konfigurationsmuligheder tilgængelige her. Vi vil ændre to muligheder, som er almindeligt nødvendige.
Åbn filen ved at bruge enten vim eller en editor efter eget valg.
sudo vim /etc/vsftpd.conf
Som standard er anonym adgang til FTP-serveren ikke tilladt. For at tillade anonym adgang ændrer vi variablen anonym_aktiver
fra INGEN
til JA
i filen.
For anonym adgang, en bruger med navnet ftp
oprettes under installationen. Standardmappen for adgang til en anonym bruger er /srv/ftp
, som faktisk er brugerens hjemmemappe ftp
. Alle filer, der skal deles med anonyme brugere, skal kopieres her.
Hvis biblioteket for anonym adgang skal ændres, skal vi ændre brugerens hjemmekatalog ftp
. For at gøre dette skal du køre:
sudo usermod -d ftp
På samme måde er skriveadgang som standard, dvs. uploadadgang, til FTP-serveren ikke tilladt. For at aktivere det, fjerner vi kommentering af linjen med variabel write_enable=JA
.
Gem og afslut filen. Hvis du bruger vim, skal du trykke på Flugt
for at gå til vim-kommandotilstand, og skriv derefter :wq
og tryk Gå ind
for at gemme og afslutte filen.
Vi skal genstarte FTP-serverdæmonen for at disse ændringer træder i kraft. For at genstarte den skal du køre:
sudo service vsftpd genstart
Test af serveren
De fleste moderne webbrowsere har indbygget understøttelse af adgang til FTP-servere, dvs. de kan fungere som integrerede FTP-klienter. De understøtter dog kun download af filer fra serveren og ikke upload.
Download test
Gå ind ftp://
i browserens adresselinje for at få adgang til FTP-serveren, hvor er IP-adressen eller domænenavnet på FTP-serveren. For at teste din lokale FTP-server skal du indtaste
ftp:://127.0.0.1
Bemærk, at siden anonym adgang blev aktiveret, viser serveren os en mappeliste over den mappe, vi aktiverede for anonym adgang, dvs. /srv/filer/ftp
.
Lad os ændre konfigurationsfilen for at deaktivere anonym adgang nu og teste adgang med brugerlogin.
sudo vim /etc/vsftpd.conf
Skift variablen anonym_aktiver
til INGEN
.
Gem og afslut filen. Genstart FTP-serveren for at disse ændringer kan finde sted.
sudo service vsftpd genstart
Åbn den samme URL igen i browseren (ftp://127.0.0.1
).
Som vi kan se, beder serveren os nu om at indtaste brugernavn og adgangskode. Indtast legitimationsoplysningerne, og tryk på Okay
.
Nu er mappelisten for den indloggede brugers hjemmebibliotek. I dette tilfælde er det /hjem/abhi
.
Upload test
Webbrowsere tillader kun download af filer fra FTP-servere. For at uploade filer til en FTP-server får vi adgang til serveren fra en filstifinder.
I Ubuntu vil vi bruge standard filstifinder, Nautilus. Åbn Nautilus ved at klikke på ikonet fra docken, eller søg i det fra Dash og åbn det.
Klik på Andre steder
helt i bunden.
Helt nederst skal du indtaste vores FTP-server-URL(ftp:://127.0.0.1
) i Tilslut til server-indtastningsfeltet, og tryk på knappen 'Forbind'.
Marker afkrydsningsfeltet 'Registered User', og indtast brugernavn og adgangskode. Du kan vælge en af de tre muligheder for at huske adgangskoden, der er indtastet ovenfor. Til sidst skal du trykke på 'Forbind'-knappen øverst i vinduet.
Nu kan vi nemt kopiere eller oprette en fil på FTP-serveren på den sædvanlige måde, vi gør i en filstifinder. FTP-serveren vises i venstre side som vist nedenfor.
Nbemærk: Selv om vsftpd
kan konfigureres til skriveadgang til anonyme brugere, dette er en stor sikkerhedsrisiko for systemet og må aldrig bruges! Upload til FTP-server må kun være aktiveret for systembrugere.
Konklusion
På denne måde kan vi opsætte en FTP-server på Ubuntu. Sørg for, at du prøver at få adgang til dette fra et andet system i dit netværk, i hvilket tilfælde du skal indtaste ftp://Din_IP_adresse
i stedet for ftp://127.0.0.1
i det andet systems browser.
Bemærk, at de fleste FTP-serverprogrammer er sikret til at kryptere det overførte indhold ved hjælp af SSL/TLS (kaldet FTPS) eller ved hjælp af SSH FTP. vsftpd
bruger FTPS i sin implementering.