Een FTP-server opzetten
Het File Transfer Protocol (FTP) is een TCP-protocol voor het uitwisselen van bestanden tussen computers. Het FTP protocol wordt ondersteund door veel besturingssystemen en netwerkapparatuur.
FTP werkt met een client en een server. Het server onderdeel heet een FTP daemon. Het luistert onophoudelijk naar FTP verzoeken van clients. Wanneer er een verzoek is ontvangen, zorgt de server voor de login en de start van de connectie. Tijdens de duur van de sessie voert de daemon de commando's van de FTP client uit.
Toegang tot een FTP server kan verkregen worden op 2 verschillende manieren:
- Anoniem
- Geautoriseerd
In de anonieme modus, kunnen clients toegang krijgen tot de FTP server met een standaard gebruiker genaamd 'anonymous' of 'ftp'. Een wachtwoord is niet nodig, maar het is een goed gebruik bij een ftp-verbinding via internet je e-mailadres als wachtwoord te gebruiken.
Een anonieme gebruiker krijgt toegang tot de map /home/ftp/. De FTP daemon zal de root map verbergen en veranderen in de FTP home map. Dit verbergt de rest van het bestandssysteem voor de anonieme ftp sessies.
Voor de geautoriseerde modus, moet de gebruiker een Ubuntu gebruikersnaam en een wachtwoord hebben. Een geautoriseerde gebruiker start in de persoonlijke map /home/gebruikersnaam. De toegang tot andere mappen is afhankelijk van de toestemmingen van de gebruiker.
vsftpd - installatie van de FTP-server
vsftpd is een FTP daemon voor Ubuntu. Het is gemakkelijk te installeren, configureren en onderhouden. Om vsftpd te installeren kan je het volgende commando gebruiken.
sudo apt-get install vsftpd
FTP server configureren
U kunt het vsftp configuratiebestand /etc/vsftpd.conf bewerken om de standaardinstellingen te veranderen.
Anonieme gebruikers weigeren
Standaard is alleen FTP in anonieme modus toegelaten. Als je deze optie wil deactiveren kan je de volgende regel veranderen.
anonymous enable=YES''' in '''anonymous enable=NO
Lokale FTP gebruikers toestaan
Standaard zijn lokale Ubuntu gebruikers niet toegelaten om in te loggen op de FTP-server. Om deze instelling te veranderen kan je het #-teken weghalen voor de volgende regel.
#local_enable=Yes
Geef gebruiker toestemming om gegevens op de server te kunnen plaatsen
Standaard hebben gebruikers toestemming om te downloaden van de FTP server. Ze hebben echter geen toestemming om bestanden te uploaden. Om deze instelling te wijzigen kan je het #-teken weghalen voor de volgende regel.
#write_enable=YES
Geef anonieme gebruikers toestemming om gegevens op de server te kunnen plaatsen
Ook anonieme gebruikers hebben normaal geen toestemming om te uploaden naar de FTP server. Om deze instelling te veranderen kan je het # weghalen voor de volgende regel.
#anon_upload_enable=YES
Eigen welkomsttekst
Om een eigen welkomsttekst te gebruiken haal je het #-teken weg voor de regel
#ftpd_banner=Welcome to blah FTP service.
De tekst achter het =-teken kan je naar eigen wens wijzigen. Deze aanpassing vergroot de veiligheid omdat de standaard welkomsttekst de gebruikte daemon software toont.
Poort wijzigen
Standaard wordt er bij ftp gebruik gemaakt van poort 21, dit kan veranderd worden door de regel listen_port 21 toe te voegen waarvan '21' vervangen kan worden door een zelf gekozen poort.
Meer Informatie over het configuratiebestand
Het configuratiebestand /etc/vsftpd.conf bestaat uit verschillende configuratieparameters. De informatie over elke parameter is te vinden in het configuratiebestand. Je kan ook in de man pagina kijken met man vsftpd.conf voor details over elke parameter.
Herstarten FTP server
Als je alle instellingen gedaan hebt moet je de server herstarten met het volgende commando.
sudo /etc/init.d/vsftpd restart
Merk op dat de standaard instellingen van het configuratiebestand zijn ingesteld voor hoge veiligheid. Elk van de bovenstaande wijzigingen maken je systeem een beetje minder veilig. Stel ze alleen in als je ze nodig hebt.
Internet - TCP-poorten
Helemaal onveilig is de FTP-toegang via internet. Wilt u deze toegang toch openstellen, kijk dan eerst naar sftp. en maakt u gebruik van een internet modem en/of firewall moet je de gebruikte TCP-poorten 20 en 21 doorsturen (Engels: "forwarding") naar het netwerkadres van de computer met de FTP daemon.