Het File Transfer Protocol (FTP) biedt gebruikers een eenvoudige manier om bestanden van en naar een FTP server te verplaatsen. FreeBSD bevat FTP server software, ftpd, in het basissysteem. Hierdoor is het opzetten en beheren van een FTP server op FreeBSD erg overzichtelijk.
De belangrijkste stap bij het instellen is de beslissing
welke accounts toegang krijgen tot de FTP server. Een normaal
FreeBSD systeem heeft een aantal systeemaccounts die gebruikt
worden voor daemons, maar onbekende gebruikers mag niet
toegestaan worden van die accounts gebruikt te maken. In
/etc/ftpusers
staat een lijst met
gebruikers die geen FTP toegang hebben. Standaard staan daar de
voorgenoemde accounts in, maar het is ook mogelijk om daar
gebruikers toe te voegen die geen FTP toegang mogen hebben.
Het kan ook wenselijk zijn de FTP toegang voor sommige
gebruikers te beperken, maar niet onmogelijk te maken. Dit kan
met /etc/ftpchroot
. In dat bestand staan
gebruikers en groepen waarop FTP toegangsbeperkingen van
toepassing zijn. In ftpchroot(5) staan alle details die
hier niet beschreven zijn.
Om anonieme FTP toegang voor een server in te schakelen,
dient er een gebruiker ftp
op een FreeBSD
systeem aangemaakt te worden. Dan kunnen gebruikers op de
server aanmelden met de gebruikersnaam ftp
of anonymous
en met ieder wachtwoord (de
geldende conventie schrijft voor dat dit een emailadres
van de gebruiker is). De FTP server roep bij een anonieme
aanmelding chroot(2) aan, zodat er alleen toegang is tot de
thuismap van de gebruiker ftp
.
Er zijn twee tekstbestanden waarin welkomstberichten voor de
FTP-cliënten gezet kunnen worden. De inhoud van
/etc/ftpwelcome
wordt getoond voordat
gebruikers een aanmeldprompt zien. Na een succesvolle
aanmelding wordt de inhoud van
/etc/ftpmotd
getoond. Het genoemde pad is
relatief ten opzichte van de aanmeldomgeving, dus voor anonieme
gebruikers wordt ~ftp/etc/ftpmotd
getoond.
Als een FTP server eenmaal correct is ingesteld, moet die
ingeschakeld worden in /etc/inetd.conf
.
Daar moet het commentaarkarakter #
voor de
bestaande ftpd regel verwijderd
worden:
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l
Zoals is uitgelegd in Voorbeeld 29.1, “Het instellingenbestand van inetd herladen”, moet de configuratie van inetd worden herladen nadat dit instellingenbestand is gewijzigd. Details over het aanzetten van inetd op uw systeem staan in Paragraaf 29.2.2, “Instellingen”.
Als alternatief kan ftpd ook
gestart worden als een op zichzelf staande dienst. In dat geval
volstaat het om de juiste variabele in te stellen in
/etc/rc.conf
:
ftpd_enable="YES"
Na het instellen van de bovenstaande variabele zal de op
zichzelf staande server gestart worden nadat de computer opnieuw
is opgestart, of het kan handmatig worden gestart door het
volgende commando als root
uit te
voeren:
#
service ftpd start
Nu kan aangemeld worden op de FTP-server met:
%
ftp localhost
De ftpd daemon gebruikt
syslog(3) om berichten te loggen. Standaard plaatst de
systeemlogdaemon berichten over FTP in
/var/log/xferlog
. De lokatie van het FTP
logboek kan gewijzigd worden door de volgende regels in
/etc/syslog.conf
te wijzigen:
ftp.info /var/log/xferlog
Het is verstandig na te denken over de gevaren die op de loer liggen bij het draaien van een anonieme FTP server. Dat geldt in het bijzonder voor het laten uploaden ven bestanden. Het is dan goed mogelijk dat een FTP site een forum wordt om commerciële software zonder licenties uit te wisselen of erger. Als anonieme uploads toch nodig zijn, dan horen de rechten op die bestanden zo te staan dat ze niet door andere anonieme gebruikers gelezen kunnen worden tot er door een beheerder naar gekeken is.
All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.