<!doctype linuxdoc system>
<linuxdoc>  
<!-- Dit is de FTP HOWTO -->

<article>
<titlepag>
<title>FTP mini-HOWTO</title>

<author>
<name>Matthew Borowski
<tt>(<htmlurl url="mailto:mkb@yahoo.com" name="mkb@yahoo.com"> )<newline>
(<htmlurl url="http://tarp.worldserve.net" name="http://tarp.worldserve.net/"> )</tt>,<newline>
Vertaald door: Ellen Bokhorst, <htmlurl url="mailto:bokkie@nl.linux.org" name="bokkie@nl.linux.org">
</name></author>
<date>v0.2, 9 januari 2000</date>

<abstract>
Hoe ftp-client en servers te gebruiken.
</abstract>
</titlepag>
<toc>

<!-- Begin van het document -->

<sect><heading>Inleiding</heading>

<p>Dit document werd geschreven door Matthew Borowski voor het Linux
Documentatie Project. Ik ben nog niet klaar met hetgeen toe te voegen wat
ik toe wil voegen. Er zal een sectie komen met informatie over het in werking
stellen van een FTP-server.</p>

<sect1><heading>Contact met me opnemen</heading>

<p>Neem alsjeblieft contact met me op als je aanvullingen of wijzigingen
hebt voor dit document. Vraag me alsjeblieft niet om technische ondersteuning
-- advies en ondersteuning over Unix kan tegen betaling via mijn onderneming
<bf/<htmlurl url="http://www.worldserve.net" name="WorldServe">/ worden
verkregen, of je kan in nieuwsgroepen, zoals <bf/comp.os.linux.*/ om hulp
vragen. Denk er alsjeblieft ook aan dat ik alleen Engels en Farsi begrijp.
</p>
</sect1>

<sect1><heading>Rechtsgeldigheden en Distributie</heading>

<p>This document is Copyright 1999 by Matthew Borowski. You may freely
distribute this document as long as the copyright notice remains unaltered.
If you distribute this HOWTO as part of a commercial product, I would like
to recieve a copy, but this is not required. If you wish to distribute a
modified or translated version of this document, please contact me first for
permission.</p>

<p>
Vertaling:
Dit document valt onder het Copyright 1999 door Matthew Borowski. Je mag
dit document vrij distribueren zolang de copyright-vermelding ongewijzigd
blijft. Als je deze HOWTO als onderdeel van een commercieel product
distribueert, zou ik graag een kopie ontvangen, maar dit is niet vereist.
Neem alsjeblieft eerst contact met me op voor permissie, als je een 
aangepaste of vertaalde versie van dit document wenst te distribueren. 
</p>
</sect1>

<sect1><heading>Historie van dit document</heading>

<p>
<itemize>
<item>991203: FTP HOWTO voor het eerst geschreven. Nog werk in uitvoering.
</item>
</itemize>
</p>
</sect1>
</sect>

<sect><heading>Over FTP</heading>

<p>FTP (File Transfer Protocol) is een client/server protocol waarmee het
mogelijk is bestanden van en naar een remote netwerksite te transporteren.
Het werkt met TCP en wordt vooral gebruikt op het Internet, alhoewel het
ook op een LAN kan worden toegepast.
</p>

<p>Een FTP-site is een computer waarop FTP-serversoftware draait (ook bekend
als een FTP-daemon, of <tt>ftpd</tt>). Een publieke ftp-site kan meestal door
iedereen worden benaderd door als <tt>anonymous</tt> of <tt>ftp</tt> in te 
loggen. Er zijn veel uitstekende publieke ftp-sites die opslagplaatsen met
vrije Unix-software beschikbaar stellen. Door te leren hoe je FTP kunt
gebruiken, geef je jezelf toegang tot een onschatbare bron.
</p>

<p>Priv&eacute; FTP-sites vereisen een gebruikersnaam of wachtwoord. Als je
een shell-account bij je ISP hebt, is het wellicht mogelijk je bestanden
via FTP te benaderen (neem hierover contact op met je systeembeheerder).
</p>

<p>Een FTP-client is de applicatie voor gebruikers waarmee het mogelijk is
toegang tot FTP-servers te verkrijgen. Er zijn heel veel FTP-clients
beschikbaar. Een aantal daarvan zijn gebaseerd op een grafische 
gebruikersinterface en anderen zijn gebaseerd op tekst.
</p>

<p>FTP werd voor het eerst ontwikkeld door de Universiteit van California,
Berkeley voor opname in 4.2BSD (Berkeley Unix). De RFC (Request for Comments)
is beschikbaar op <htmlurl url="ftp://nic.merit.edu/documents/rfc/rfc0959.txt">.
</p>
</sect>

<sect><heading>Beginnersgids in het gebruik van ftp</heading>

<p><bf>Een snelle leidraad voor het gebruik van ftp.</bf></p>

<p>Het standaard ftp-programma is de oorspronkelijke ftp-client.
Het wordt standaard met de meeste Linux-distributies meegeleverd.
Het verscheen voor het eerst in 4.2BSD, dat werd ontwikkeld door de
Universiteit van California, Berkeley.</p>

<sect1><heading>Uitvoeren van het <tt>ftp</tt> programma</heading>

<p>Het gebruik van ftp is eenvoudig. Stel dat je een verbinding wilt maken
met de anonieme ftp-site metalab.unc.edu om de laatste Linux-kernelsource
te downloaden.</p>

<p>Typ achter de opdrachtregel:


<tscreen><verb>
$ ftp metalab.unc.edu
</verb></tscreen>
</p>

<p>Het ftp-programma zal proberen een verbinding tot stand te brengen met
metalab.unc.edu. Een andere manier om dit te doen is 
<tt>ftp</tt> zonder parameters vanaf de opdrachtregel op te starten en gebruik
te maken van het <tt>open</tt> commando, met als argument de naam van de site:


<tscreen><verb>
$ ftp
ftp> open metalab.unc.edu
</verb></tscreen>
</p>
</sect1>

<sect1><heading>Op een FTP-server inloggen</heading>

<p>Wanneer je een verbinding met een FTP-site hebt, zal het je vragen
om een login (de enter-toets indrukken zal je inloggen met je lokale
gebruikersnaam, in dit geval <tt>foo</tt>: We loggen in als <tt>anonymous</tt>
of <tt>ftp</tt>, om bij het publieke archief te komen.


<tscreen><verb>
220 helios.oit.unc.edu FTP server (Version wu-2.6.0(2) Wed Nov 17 14:44:12
EST 1999) ready.
Name (metalab.unc.edu:foo): 
</verb></tscreen>
</p>

<p>
Nu voeren we als wachtwoord een volledig e-mailadres in (dit vereisen de
meeste publieke FTP-sites).

 
<tscreen><verb>
331 Guest login ok, send your complete e-mail address as password.
Password:
</verb></tscreen>
</p>

<p>
Na een succesvolle login, wordt de volgende informatie gegeven:


<tscreen><verb>
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 
</verb></tscreen>
</p>
</sect1>

<sect1><heading>Bestandstypen bij het transporteren</heading>

<p>Nadat je op een ftp-site bent ingelogd, zal <tt>ftp</tt> het bestandstype
voor het transport afdrukken. In onze situatie is dit binair. In binaire mode
worden de bestanden bit voor bit getransporteerd, zoals ze op de FTP-server
staan. In ascii-mode zal de tekst echter direct worden gedownload.
Je kunt door het intikken van <tt>ascii</tt> of <tt>binary</tt> tussen de
twee typen wisselen.</p>

<p>Je wilt de kernelsource downloaden dus laat je het bestandstype op binary
staat. Het binaire type is ook hetgeen je zou gebruiken voor enige niet-tekst
bestanden -- zoals grafische afbeeldingen, zip/gzip archieven, uitvoerbare
programma's, enz. Gebruik de binary-mode als je twijfelt.</p>
</sect1>

<sect1><heading>Door directory's navigeren en ze weergeven</heading>
<p>Je geeft de opdracht <tt>ls</tt> om een lijst met de bestanden te zien
te krijgen. Het commando <tt>ls</tt> op ftp-servers wordt op de remote-server
uitgevoerd, dus de opties die je op de opdrachtregel kunt gebruiken, 
vari&euml;ren van server tot server. De meest gebruikelijke opties zijn in
het algemeen wel beschikbaar, kijk in de manpage van <tt>ls</tt> voor de
details.

<tscreen><verb>
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 33590
-r--r--r--   1 root     other    34348506 Dec 03 03:53 IAFA-LISTINGS
lrwxrwxrwx   1 root     other           7 Jul 15  1997 README -> WELCOME
-rw-r--r--   1 root     other         890 Nov 15 13:11 WELCOME
dr-xr-xr-x   2 root     other         512 Jul 15  1997 bin
dr-xr-xr-x   2 root     other         512 Jul 15  1997 dev
dr-xr-xr-x   2 root     other         512 Jul 18  1997 etc
drwxrwxrwx  11 ftp      20           4608 Nov 28 16:00 incoming
lrwxrwxrwx   1 root     other          13 Jun 04  1998 ls-lR -> IAFA-LISTINGS
dr-xr-xr-x  17 root     root          512 Jun 08 11:43 pub
dr-xr-xr-x   3 root     other         512 Jul 15  1997 unc
dr-xr-xr-x   5 root     other         512 Jul 15  1997 usr
226 Transfer complete.
</verb></tscreen>
</p>

<p>Als de opdracht <tt>ls</tt> zoveel bestanden weergeeft dat ze van het
scherm scrollen, dan kun je gebruik maken van de Shift-PageUp om naar
boven te scrollen. Dit werkt in de Linux console mode als ook in een
xterm of rxvt.</p>

<p>Op publieke FTP-archieven worden de te downloaden bronnen meestal in
de directory <tt>/pub</tt> bewaard. In dit voorbeeld weet je al dat de
kernelsources in de directory <tt>/pub/Linux/kernel</tt> staan, dus typ
je het volgende om in die directory terecht te komen:

<tscreen><verb>
ftp> cd pub/Linux/kernel
250-README for kernel
250-
250-What you'll find here: kernel sources and patches
250-
250-
250 CWD command successful.
</verb></tscreen>
</p>

<p>De berichten die je te zien krijgt, die met "250" beginnen,
bestaan uit informatie die door de server zijn verzonden. In dit geval is
de ftp-server zodanig geconfigureerd dat het je automatisch het README-bestand
stuurt als je naar de directory gaat.</p>
</sect1>

<sect1><heading>Downloaden en uploaden van bestanden</heading>

<p>Na nu nog een <tt>ls</tt>, zie je dat je met <tt>cd</tt> naar de
v2.2 directory wilt gaan. Je geeft nogmaals de opdracht
<tt>ls</tt>, en vindt dan het bestand dat je wilt downloaden. Het is
<tt>linux-2.2.13.tar.gz</tt>. Dus tik je in:

<tscreen><verb>
ftp> get linux-2.2.13.tar.gz
local: linux-2.2.13.tar.gz remote: linux-2.2.13.tar.gz
200 PORT command successful.
150 Opening BINARY mode data connection for linux-2.2.13.tar.gz (15079540
bytes).
</verb></tscreen>
</p>

<p>Het ftp-programma is begonnen met het opslaan van het remote bestand
<tt>linux-2.2.13.tar.gz</tt> als het lokale bestand 
<tt>linux-2.2.13.tar.gz</tt>.</p>

<p>Als je het als het lokale bestand <tt>foo.tar.gz</tt> op zou willen slaan,
zou je dit als volgt aan kunnen hebben geven:

<tscreen><verb>
ftp> get linux-2.2.13.tar.gz foo.tar.gz
local: foo.tar.gz remote: linux-2.2.13.tar.gz
200 PORT command successful.
150 Opening BINARY mode data connection for linux-2.2.13.tar.gz (15079540
bytes).
</verb></tscreen>
</p>

<p>Als je meer dan &eacute;&eacute;n bestand tegelijkertijd wilt downloaden,
dan zal je de opdracht <tt>mget</tt> (meerdere get's) moeten gebruiken.
Je kunt <tt>mget</tt> met een door spaties gescheiden lijst met de te
downloaden bestandsnamen gebruiken, &oacute;f je kunt de opdracht
<tt>mget</tt> met wildcards gebruiken. Bijvoorbeeld:

<tscreen><verb>
ftp> mget linux*
</verb></tscreen>
</p>

<p>Hiermee zouden alle bestanden beginnend met de string "linux" worden
opgehaald. Normaal gesproken zal <tt>mget</tt> voor ieder bestand om
bevestiging vragen alvorens het wordt gedownload.
Je kunt dit met het <tt>prompt</tt>-commando aan- of uitzetten.
</p>

<p>Stel nu dat je wat software hebt geschreven en dat je het naar Metalab
wilt uploaden voor opname in hun Linux software-archief.
Als eerste ga je naar de directory /incoming (op de meeste FTP-servers
komt een directory voor die meestal incoming of uploads wordt genoemd, waar
bestanden kunnen worden geupload), vervolgens gebruik je de opdracht put:

<tscreen><verb>
ftp> cd /incoming
ftp> put foo.tar.gz
local: foo.tar.gz remote: foo.tar.gz
200 PORT command successful.
150 Opening BINARY mode data connection for foo.tar.gz.
226 Transfer complete.
10257 bytes sent in 0.00316 secs (3.2e+03 Kbytes/sec)
</verb></tscreen>
</p>

<p>Het commando <tt>put</tt> werkt op dezelfde wijze als de opdracht
<tt>get</tt>, dus je kunt <tt>mput</tt> gebruiken om tegelijkertijd meerdere
bestanden te uploaden. Je kunt ook een lokaal bestand met een andere 
bestandsnaam naar de server uploaden door als argument de remote bestandsnaam
en/of de naam van het pad op te geven.</p>

<p>Wat als het bestand <tt>foo.tar.gz</tt> zich niet in je huidige directory
bevindt wanneer je het probeert te uploaden?
Je kunt met de opdracht <tt>lcd</tt> (local change directory) naar een andere
lokale directory overschakelen:

<tscreen><verb>
ftp> lcd /home/foo/
Local directory now /home/foo
</verb></tscreen>
</p>
</sect1>

<sect1><heading>Shell-opdrachten uitvoeren</heading>

<p>De ftp-client ondersteunt het gebruik van het uitroepteken (!) voor
het uitvoeren van lokale opdrachten. Om bijvoorbeeld een lijst met
bestanden in je huidige lokale directory te krijgen, geef je op:


<tscreen><verb>
ftp> !ls
</verb></tscreen>
</p>

<p>De wijze waarop dit werkt is dat ftp de shell aanroept (aangegeven in de
omgevingsvariabele <tt>$SHELL</tt>), en het is de shell die <tt>ls</tt>
uitvoert. Dus je kunt iedere opdrachtregel uitvoeren die met je shell werkt,
door er gewoon een "!" aan te laten voorafgaan (de standaardshell onder
de meeste Linux-distributies is bash, de Bourne Again SHell). 
Houdt er alsjeblieft rekening mee dat <tt>!cd</tt> niet werkt zoals je
wellicht verwacht, daarom bestaat er een commando <tt>lcd</tt>.
</p>
</sect1>

<sect1><heading>Hash markeringen en tick</heading>

<p>Zou het niet fijn zijn als je de voortgang kon bekijken op het moment dat
je een bestand met ftp aan het downloaden bent? Je kunt bij het downloaden
van een bestand de opdracht hash gebruiken, waardoor er hash markeringen worden
weergegeven:


<tscreen><verb>
ftp> hash
Hash mark printing on (1024 bytes/hash mark).
</verb></tscreen>
</p>

<p>Zoals je kunt zien, zal ftp voor iedere 1024 bytes aan gedownloade
data een hash markering afdrukken.
</p>

<p>Er is ook een <tt>tick</tt> optie.</p>

<p>
<tscreen><verb>
ftp> tick           
Tick counter printing on (10240 bytes/tick increment).

Dit heeft als effect dat er bij het downloaden van een bestand iets dergelijks
als het volgende wordt afgedrukt:

Bytes transferred: 11680
</verb></tscreen>
</p>
</sect1>

<sect1><heading>Andere ftp-opdrachten</heading>

<p>Er zijn nog veel andere ftp-opdrachten. Als je hier permissie voor hebt
(wat zo zou moeten zijn, als je met je eigen priv&eacute; shell-account
een verbinding hebt gemaakt), kun je met de opdracht <tt>mkdir</tt> een
directory op de remote-server aanmaken. Met de opdracht <tt>delete</tt> kun
je een bestand van de remote server verwijderen, of met <tt>rmdir</tt> een
directory verwijderen. Je kunt ook de bestandspermissies wijzigen met het
commando <tt>chmod</tt>. 
</p>

<p>Zie de online help in het ftp-programma (toegankelijk door het intikken
van help zonder argumenten voor een lijst met opdrachten, of help
&lt;commandonaam&gt; voor specifieke hulp over een commando) voor uitgebreidere
informatie over het gebruik van ftp. Je kunt ook de Unix manpage over ftp
lezen door het achter de opdrachtprompt intikken van <tt>man ftp</tt>.
</p>
</sect1>
</sect>

<sect><heading>Console FTP-clients</heading>

<p>Het oorspronkelijke ftp-programma was de oorspronkelijke ftp-client, en
het is een goede investering om het te leren.
Het is de enige ftp-client waarvan je er zeker van kunt zijn dat het op
de meeste systemen beschikbaar is (zelfs Win32 heeft het ftp-commando,
alhoewel het er een enigszins verouderde niet-intellectuele versie van is).
</p>

<p>Er zijn nog vele andere console-mode (alleen tekst) ftp-clients beschikbaar.
De lijst hier is in geen enkele zin uitgebreid, maar bevat de meest populaire
ftp-clients. Zoek op <htmlurl url="http://www.freshmeat.net" name="FreshMeat"> 
voor meer.
</p>

<sect1><heading>NcFTP</heading>

<p>NcFTP is de nooit eerder bereikte favoriete ftp-client van veel
Unix-gebruikers. Het wordt bij de meeste Linux-distributies gebundeld geleverd,
en het biedt veel geavanceerde mogelijkheden zoals tab-voltooi&iuml;ng en
bladwijzers. Versie 2 van NcFTP had een volledige schermmodus gebaseerd
op de curses library. Dit werd in Versie 3 verwijderd (nu in beta).
</p>

<p>Het is niet 100% compatibel met de opdrachten waarvan de standaard
ftp gebruik maakt. In NcFTP functioneren get en put bijvoorbeeld zoals
mget en mput in standaard ftp. Dus als je een remote-bestand als een
andere lokale bestandsnaam op wilt slaan, dan moet je opgeven
get -z remotenaam lokalenaam. De hemel zij dank heeft NcFTP een mooi
online-helpsysteem om je te assisteren bij het leren van de opdrachten.
</p>

<p>De laatste versie van NcFTP is te verkrijgen bij
<htmlurl url="http://www.ncftp.com">.
</p>
</sect1>

<sect1><heading>lukemftp</heading>

<p>Een poort van de NetBSD FTP-client naar andere systemen, 
de naam lukemftp is afgeleid van de auteur met de meest uitgebreide
mogelijkheden, waaronder: het wijzigen van de commandregel, opdrachtregel
ontvangsten van FTP en HTTP URL's (waaronder via proxies), context gevoelige
woordvoltooi&iuml;ng, dynamische voortgangsbalk, IPv6-ondersteuning, 
bewaren van de modificatie-tijd, paging van lokale en remote bestanden,
passieve mode ondersteuning (met fallback naar actieve mode), SOCKS support,
TIS FWTK gate-ftp server support, en vermindering van de transportsnelheid.
</p>

<p>Ik raad lukeftp ten zeerste aan voor gebruikers die niet naar iets
anders over willen stappen dan iets dat drastisch anders is dan de standaard
ftp-client, maar die wel meer geavanceerde mogelijkheden willen.
</p>

<p>De laatste versie van lukemftp is te krijgen op 
<htmlurl url="ftp://ftp.netbsd.org/pub/NetBSD/misc/lukemftp/">.
</p>
</sect1>

<sect1><heading>lftp</heading>

<p>lftp is een verfijnde op de opdrachtregel gebaseerde FTP-client. Net als
bash beschikt het over mogelijkheden voor job control.
Het maakt voor invoer gebruik van de GNU-readline library dus heb je
opdrachtregel-voltooi&iuml;ng en het wijzigen van de opdrachtregel tot je
beschikking. lftp heeft ook bladwijzers, mirror-ondersteuning en kan
verscheidene bestanden parallel transporteren.
</p>

<p>Je kunt de laatste versie van lftp verkrijgen op <htmlurl url="http://ftp.yars.free.net/projects/lftp/">.
</p>

<p>Debian packages zijn beschikbaar op <htmlurl url="ftp://ftp.freshmeat.net/pub/debs/lftp/">.
</p>
</sect1>

<sect1><heading>cftp</heading>

<p>Comfortabele FTP (cftp) is een client in schermvullende modus. Wat er aan
mogelijkheden in ontbreekt, wordt goed gemaakt door zijn eenvoud in het
gebruik. Je bladert door de directory's met de pijltjestoetesen en enter.
</p>

<p>De laatste versie van cftp zou te krijgen moeten zijn op <htmlurl url="http://ftp.giga.or.at/pub/nih/cftp/">.
</p>
</sect1>

<sect1><heading>yafc</heading>

<p>Yafc is een zeer mooie ftp-client, met mogelijkheden zoals directory cache,
remote bestandsnaamvoltooi&iuml;ng, aliassen, ls in kleur, recursieve
get/put/ls/rm, nohup mode transport, tagging (queueing), meerdere
verbindingen, proxy support en meer. Het biedt ondersteuning voor Kerberos4
authenticatie.
</p>

<p>Je kunt de laatste versie van yafc verkrijgen vanaf <htmlurl url="http://www.stacken.kth.se/~mhe/yafc/">.
</p>

<p>Debian packages zijn beschikbaar op <htmlurl url="http://members.home.com/decklin/experimental/">.
</p>

<p>Redhat packages zijn beschikbaar op <htmlurl url="http://lz.freeservers.com/linux/yafc.html">.
</p>
</sect1>
</sect>

<sect><heading>X Window FTP-clients</heading>

<p>Er zijn verscheidene grafische FTP-clients ontworpen om onder het X-Window
systeem te worden uitgevoerd. Deze clients bieden eenvoudig gebruik voor
gebruikers die gewend zijn aan grafische omgevingen en bieden soms
veelzijdige opties die in een op tekst gebaseerde ftp-client moeilijk zouden
zijn te implementeren.
</p>

<sect1><heading>gFTP</heading>

<p>gFTP is een FTP-client voor X Windows geschreven met behulp van Gtk.
De interface heeft een aantal overeenkomsten met de populaire
WS_FTP software wat meestal onder een bepaald onstabiel besturingssysteem
wordt gebruikt.
</p>

<p>gFTP ondersteunt simultane downloads, het hervatten van onderbroken
bestandstransport, file transfer queues, het downloaden van volledige
directory's, ftp proxy support, remote directory caching, passieve en
niet-passieve bestandstransport, ondersteuning voor slepen en neerzetten,
een zeer fraaie manager voor de verbinding en meer.
</p>

<p>Waarschijnlijk heb je gFTP reeds, als je onder Red Hat Linux draait en
de GNOME-desktop hebt ge&iuml;nstalleerd. Als dit niet zo is, kun je gFTP
downloaden van de homepage op <htmlurl url="http://gftp.seul.org/">.
</p>
</sect1>

<sect1><heading>WXftp</heading>

<p>WXftp is een FTP-client voor het X Window Systeem, ontworpen om hoofdzakelijk
op Linux werkstations te worden gebruikt. Het is geschreven met gebruik van
de WXWindows toolkit, dus het kan met Motif of GTK+ worden gecompileerd.
</p>

<p>Het heeft een intu&iuml;tieve gebruikersinterface (lijkt veel op WS_FTP),
een sessie beheerder, on-line help, een voortgangsbalk, en meer.
</p>

<p>Kijk op de homepage van WXftp op <htmlurl url="http://www.wxftp.seul.org">.
</p>
</sect1>

<sect1><heading>LLNL XDIR en XFTP</heading>

<p>LLNL XFTP was &eacute;&eacute;n van de eerste grafisch FTP-clients voor
onder Linux. het ondersteunt FXP (bestandstransport tussen twee remote hosts),
en heeft een op Motif gebaseerde interface.
</p>

<p>Meer informatie is beschikbaar op <htmlurl url="http://www.llnl.gov/ia/xdir_xftp/">.
</p>
</sect1>

<sect1><heading>guiftp</heading>

<p>Guiftp is een eenvoudige ftp-client geschreven met de GTK+ toolkit.
Het is goed als je niet veel mogelijkheden nodig hebt en een eenvoudig,
duidelijk uiterlijk wilt.
</p>

<p>Guiftp's homepage is op <htmlurl url="http://www.altern.org/ldufresne/guiftp/">.
</p>
</sect1>
</sect>

<sect><heading>FTP-Servers</heading>

<sect1><heading>Hoe een FTP-Server werkt</heading>

<p>
Een traditionele FTP-server wordt vanuit inetd uitgevoerd (de internet
superserver daemon). De standaard FTP-poort is poort 21. Wanneer een gebruiker
probeert in te loggen, maakt de FTP-server gebruik van een standaard
systeemaanroep om de naam van de gebruiker en het wachtwoord te controleren
met de records in het wachtwoordbestand op het systeem, of de NIS-tabellen
als je gebruik maakt van NIS. Als de login correct is, wordt de gebruiker
toegang verleend tot het systeem.
</p>

<p>
Anonieme FTP werkt anders. De gebruiker logt &oacute;f in met de gebruikersnaam
anonymous &oacute;f met de gebruikersnaam ftp (dit kan in het config bestand
worden gedefinieerd). Hem wordt dan toegang gegeven tot een directorystructuur
waarop de opdracht chroot() is toegepast.
Dit geeft de garantie dat de gebruiker geen toegang tot de directorystructuur
kan verkrijgen waartoe hij niet is geautoriseerd.
Op de chrooted directorystructuur bevindt zich meestal een mock 
bestandssysteem, met bin/, etc/, en lib/ directory's. De bestanden voor
download zijn meestal in de directory /pub geplaatst.
</p>

<p>
De reden voor een mock bestandssysteem in een anonieme FTP-structuur is dat
de FTP daemon externe opdrachten voor ls verzoeken draait. Je kunt in de
bin directory tevens extra programma's plaatsen, en een gebruiker kan ze
uitvoeren met het SITE-commando in zijn ftp-client.
Om de FTP-site van Red Hat is bijvoorbeeld de opdracht RPM opgenomen 
(zodat gebruikers RPM-packages op de site kunnen ondervragen).
</p>

<p>
Een aantal FTP-servers werken anders. Een aantal zullen bijvoorbeeld
het instellen van gebruikersaccounts onafhankelijk van het systeemomvattende
wachtwoordbestand toestaan (account voor alleen FTP). Een aantal servers
(ProFTPD en NcFTPd bijvoorbeeld) hebben ingebouwde ls-opdrachten en hebben geen
speciale directorystructuur binnen de chroot-structuur nodig.
Andere ftp-servers dwalen af van het standaard ftp-concept. FTP4ALL
maakt bijvoorbeeld helemaal geen gebruik van systeemwachtwoorden.
Het maakt gebruik van zijn eigen gebruikers- en groepsbestand, en heeft
mogelijkheden zoals een upload/download verhouding en aanpasbare
server-meldingen.
</p>
</sect1>

<sect1><heading>Hulp met FTP-Servers</heading>

<sect2><heading>WU-FTPD</heading>

<p>WU-FTPD is de ftp-daemon die met veel Linux-distributies wordt geleverd,
waaronder Red Hat en Caldera. Je kunt meer leren over WU-FTPD op
<htmlurl url="http://www.wu-ftpd.org">.
</p>

<p>
De WU-FTPD FAQ is te vinden op het web op <htmlurl
url="http://www.cetis.hvu.nl/~koos/wu-ftpd-faq.html">.
</p>
</sect2>

<sect2><heading>ProFTPD</heading>

<p>ProFTPD is een krachtige FTP-server waarin een configuratie in de
stijl van Apache, uitgebreide ondersteuning voor virtuele hosts en een interne
ls is opgenomen.
</p>

<p>Een complete commando-referentie en te downloaden bestanden zijn te 
vinden op <htmlurl url="http://www.proftpd.org">
</p>
</sect2>
</sect1>
</sect>
</article>
</linuxdoc>
