Linux vervolgcursus

een FTP-server

Paul Wiegmans (paul@bonhoeffer.nl)
laatst gewijzigd

introductie

Een FTP-server biedt een gestandaardiseerde manier om bestanden te kopieren van een computer naar een andere via een netwerk. In dit hoofdstuk gaan we het hebben over het installeren van een FTP-server op Mandrake Linux en de configuratie en gebruik ervan. De FTP-server lijkt erg op de webserver van het vorige hoofdstuk in het installeren , stoppen en starten ervan .

de FTP-server

FTP staat voor File Transfer Protocol en is sinds lange tijd een betrouwbare manier om bestanden over te sturen tussen computers via een netwerk. Er wordt een verbinding gelegd tussen twee programmas : een FTP-client en een FTP-server. Iemand bedient in de regel alleen het FTP-clientprogramma en maakt daarmee de verbinding met een FTP-server.

FTP kan worden gebruikt met computer heel dichtbij in een lokaal netwerk, maar FTP wordt ook gebruik om bestanden te downloaden van verre FTP-servers aan de andere kant van de wereld. Het is ook de standaard manier om websites te onderhouden die bij internet service providers op hun webserver staan. Net als de webserver maakt FTP gebruik van het TCP/IP-netwerkprotocol. Elke computer die overweg kan met het TCP/IP protocol kan ook het FTP-protocol gebruiken. Het is daarom ook een defacto standaard geworden. Het kan gebruikt worden op diverse typen computer en besturingssystemen : Windows, Linux, Mac OS enz.

de FTP-deamon

Het FTP-serverprogramma lijkt in een aantal opzichten erg op de webserver in het vorige hoofdstuk. Het is ook een deamon, die alleen kan worden gestart of gestopt door de systeembeheerder root . Een deamon is een zelfstandig draaiende applicatie die zelfs aktief is wanneer er geen gebruiker is aangemeld. Het heeft ook geen smoel, want het is niet aan een terminal of venster gekoppeld. Er kan alleen controle worden uitgeoefend door commandos te geven op de commandoregel.

Op een Linuxsysteem zoals Mandrake linux is er vaak de keus tussen verschillende FTP-servers. Dit hoofdstuk behandelt de FTP-server ProFTPD . Qua werking is ProFTPD gelijk aan andere FTP-servers, maar de configuratie gaat op een eigen manier.

test de installatie

Om te beginnen is het nuttig om te kijken of de FTP-server geinstalleerd is. Kijk of ProFTPD geinstalleerd , door te kijken of het script proftpd aanwezig is in de map /etc/rc.d/init.d .

[root@deimos root]# ls /etc/rc.d/init.d
acpi* dund* mandrake_everytime* oki4daemon* sshd*
acpid* functions* mandrake_firstime* pand* syslog*
alsa* halt* messagebus* partmon* udev*
apmd* harddrake* mtink* pcmcia* usb*
atd* hidd* netfs* portmap* vncserver*
bluetooth* hotplug* netplugd* postfix* xfs*
cpufreq* keytable* network* rawdevices* xinetd*
crond* kheader* nfs* single*
devfsd* killall* nfslock* smb*
dm* mandrake_consmap ntpd* sound*

Als het script proftpd niet aanwezig is, betekent dat dat ProFTPD niet geinstalleerd is.

installeren

We installeren ProFTPD met het Mandrake programma voor software installatie Rpmdrake. Je start dit vanuit X , de grafische omgeving door te klikken op Start -> Systeem -> Configuratie -> Pakketten -> Software installeren (in Mandrake 10.1). Rpmdrake start en zal vragen om het root wachtwoord. Het root wachtwoord is nodig omdat software installeren een taak is van de root gebruiker, maar binnen X is de gebruiker meestal aangemeld als een normale gebruiker.




Tik in het zoekveld "proftpd" of gewoon maar "ftp" en klik op Zoeken. Je zult dan een lijstje in de zoekresultaten vinden. Vink proftpd aan. Het versienummer dat in de afbeelding getoond wordt kan een aantal nummer aangeven dat op de cursuscomputer.

Klik op Installeren. Rpmdrake zal soms aangeven de het ProFTPD pakket afhankelijk is van andere pakketten en zal je dan vragen om ook die andere pakketten te installeren. Klik op OK om dit te bevestigen. Rpmdrake zal vervolgens gaan kijken welke van de 3 installatie-CDs nodig zijn om te pakketten te installeren. Het zal vragen om achtereenvolgens de juiste CD(s) in de speler te leggen en vraagt dan om bevestiging. Volg de aanwijzingen en het gaat vanzelf.

Uiteindelijk is ProFTPD geinstalleerd en kunnen we ProFTPD starten.

Ter controle kun je zien of het script proftpd nu aanwezig is in de map /etc/rc.d/init.d . De installatie kun je als volgt controleren.

[root@deimos etc]# ls /etc/rc.d/init.d
acpi* dund* mandrake_consmap ntpd* smb*
acpid* functions* mandrake_everytime* oki4daemon* sound*
alsa* halt* mandrake_firstime* pand* sshd*
apmd* harddrake* messagebus* partmon* syslog*
atd* hidd* mtink* pcmcia* udev*
bluetooth* hotplug* netfs* portmap* usb*
cpufreq* httpd* netplugd* postfix* vncserver*
crond* keytable* network* proftpd* xfs*
devfsd* kheader* nfs* rawdevices* xinetd*
dm* killall* nfslock* single*

Zoals hierboven zichtbaar is, is proftpd nu aanwezig.

starten en stoppen van de FTP-deamon

Het stoppen en starten van de deamon wordt uitgevoerd met het service commando. De syntaxis van dit commando is:

service SERVICE ARGUMENTS

Het commando neemt als eerste parameter de naam van een deamon. Eigenlijk is dit de naam van een van de scripts in de map /etc/rc.d/init.d . Om te kijken welke deamons  op de computer aktief (kunnen) zijn, kun je kijken in deze map. Het stoppen en starten van de FTP-server volgt precies dezelfde methode als het stoppen en starten van de webserver. Het FTP-serverprogramma (de "service") heet proftpd .

Starten van de FTP-server gaat nu met het commando, waarbij je dit uitvoert als root gebruiker::

# service proftpd start
Starting proftpd: [ OK ]

Er verschijnt [ OK ] als de FTP-server is gestart. Wanneer de boodschap [FAILED] betekent dit in de meeste gevallen dat er een fout in de configuratie is. Stoppen van de FTP-server gaat nu met het argument stop, als volgt:

# service proftpd stop
Shutting down proftpd: [ OK ]

Om te kijken of de FTP-server draait, kun je het argument status gebruiken. Je krijgt een boodschap met de status, of de FTP-server aktief is of gestopt is.

[root@localhost root]# service proftpd status
proftpd is stopped

of wanneer de wbeserver aktief is:

[root@localhost root]# service proftpd status
proftpd (pid 4372) is running...

configuratie van de FTP-server

De configuratie van de FTP-server is heel erg simpel. Meestal hoef je helemaal niets te doen om de FTP-server te laten werken. In het bestand /etc/proftpd.conf vind je de opties van de FTP-server. Dat zijn er heel weinig. Het enige wat misschien de moeite waard is om aan te passen, is de naam van de server. Dat is wat de gebruiker ziet zodra hij verbinding maakt.

Hoewel aanmelden met naam en wachtwoord verplicht is , hoeven er geen gebruikers worden aangemaakt. De gebruikers die op het linuxsysteem zijn gemaakt, kunnen gewoon verbinding maken via FTP. Ze krijgen dan toegang tot hun eigen homedirectory. Uit veiligheidsredenen is het meestal niet toegestaan dat root zich kan aanmelden via FTP. De reden hiervan is dat het oversturen van het wachtwoord van root gebeurt zonder encryptie. Iemand die de verbinding afluistert kan heel makkelijk het wachtwoord van root achterhalen.

de FTP-client

Om de FTP-server aan te spreken gebruik je met een FTP-clientprogramma. Deze zijn er in twee verschijningen: textgebaseerd of grafisch. Het textgebaseerde programma is te starten met het commando ftp in een terminalvenster en is aanwezig op bijna elke computer met Linux en Windows. De gebruiker kan hiermee door middel van commando (open , ls , put  en get ) bestanden van en naar de FTP-server kopieren maar erg handig gaat dit niet. Een grafische FTP-clients is makkelijker te bedienen en heeft daarom altijd de voorkeur.

grafische FTP-clients

Inmiddels zijn er veel fraaie grafische FTP-clients die makkelijk in het gebruik zijn. Bijna alle grafische FTP-clients zijn programma waarmee naast elkaar een bestandenlijst ziet van de lokale computer en een van de FTP-server. Het oversturen van bestanden gaat vaak met een druk op de knop.

Op Linux is er ondere andere gFTP. Dit programma is beschikbaar op Mandrake Linux en je vindt het in het startmenu onder Internet-> bestandsoverdracht->gFTP . Wanneer het niet geinstalleerd is, kun je het heel makkelijk zelf installeren met het software installatieprogramma.

Op Windows kun je ook bijzonder veel programmas gebruiken. Een aanrader is Filezilla. Dit programma is gratis en het is bovendien open source software. Je vindt het op de Filezilla homepage .

De meeste webbrowsers (Internet Explorer, Mozilla, Opera) kunnen ook dienst doen als FTP-client. De URL in de adresbalk vermeldt dan niet http://...  maar ftp://... Bij veel websites heb je de keus om bestanden te downloaden via de http protocol of het ftp-protocol. Om alle mogelijkheden van een FTP-server te kunnen benutten, is het aan te raden om gebruik te maken van een daarvoor toegewijd programma: een FTP-client .

gebruik van de FTP-server

Maak met gFTP verbinding met je eigen FTP-server. Voor het maken van de verbinding zijn altijd 3 gegevens nodig:

  1. het adres van de server ; dit kan een naam of IP-adres zijn,
  2. een gebruikersnaam en
  3. een wachtwoord.

links

ProFTPD