Met proftpd is het mogelijk een ftp-server op je pc/server te draaien. Proftpd is net iets beter dan de standaard van Linux die wordt mee geleverd met de meeste distro's. Gebruikers worden gewoon aangemaakt op het systeem. Iedere gebruiker komt gewoon in zijn of haar inbox terecht. Meer opties zijn altijd mogelijk maar dan raad ik je aan even naar de website van proftpd te surfen.

Volg de stappen hieronder beschreven.

Installatie:

Download de laatste proftpd van hier
In dit voorbeeld gebruik ik versie 1.2.1

Pak de proftpd file uit en start een compilatie met de volgende commando's:

tar zxvf proftpd-1.2.1.tar.gz ( uitpakken )
cd proftpd-1.2.1
./configure
make
make install

Als dit allemaal goed is gegaan staat proftpd op het systeem. Nu gaan we verder met de configuratie file. Vervolgens raad ik je aan om je standaard config file te backuppen, voor het geval dat:

cp /usr/local/etc/proftpd.conf /usr/local/etc/proftpd.conf.old (standaard config file even backuppen)

Het volgende wat dient te worden gedaan is de config-file te editen, deze is te vinden onder de volgende locatie: /usr/local/etc/proftpd.conf

pico /usr/local/etc/proftpd.conf

In de configfile vindt je zaken mbt op welke port proftpd draait en andere zaken. Pas deze naar wensen aan. Meer informatie op de website van proftpd.

( Dit is mijn config file )

---------------

ServerName "Slackware 8.1 "
ServerType standalone
DefaultServer on
Port 1030
Umask 022
User upload
Group upload
MaxInstances 30
<Directory /*>
AllowOverwrite on
</Directory>
MaxClients 10
AllowForeignAddress on
DefaultRoot ~
DisplayLogin /root/welcome.msg
AllowOverwrite on
AllowStoreRestart on
PassivePorts 60000 65535


---------------

Proftpd draait op de user upload. (deze moet je dan dus eerst aanmaken.. nobody is bv ook een optie) ( port 21 standaard, bij mij 1030 ). Verder blijven alle gebruikers keurig in zijn of haar directory's. ( DefaultRoot ~ optie) Verder omdat mijn provider inkomend t/m port 1024 alles heeft geblocked heb ik er voor gekozen om de datastream op poorten 60000 t/m 65535 te laten lopen. Deze dienen dan wel in een eventuele firewall open gezet te worden. Normaal staat de datastream op port 20.

Nu kan je proftpd starten! Alles is klaar en gereed.

Geef het volgende commando:
/usr/local/sbin/proftpd

Als je het handig vind kan je proftpd meteen mee laten starten met het systeem. Voeg aan het bootscript, /etc/rc.d/rc.local
de volgende regel toe:
/usr/local/sbin/proftpd

Verder gaan we het systeem beveiligen zodat gebruikers geen shell access krijgen. Dit doen we door een bestandje te maken in de /etc directory.

echo > /etc/ftponly

chmod 755 /etc/ftponly

Voeg daarna de volgende regels toe aan het script:

#!/bin/sh
#
# ftponly shell
#
trap "/bin/echo Sorry; exit 0" 1 2 3 4 5 6 7 10 15
#
Admin=info@tcgo.nl
#System=`/usr/ucb/hostname`@`/usr/bin/domainname`
#
/bin/echo
/bin/echo "********************************************************************"
/bin/echo " You are NOT allowed interactive access."
/bin/echo
/bin/echo " User accounts are restricted to ftp and web access."
/bin/echo
/bin/echo " Direct questions concerning this policy to $Admin."
/bin/echo "********************************************************************"
/bin/echo
#
# C'ya
#
exit 0


Open daarna het bestand /etc/shells en voeg de onderstaande regel toe:

/etc/ftponly

Open nu het bestand /etc/passwd en vervang de regel /bin/bash door /etc/ftponly bij de gebruikers die je geen shell access wilt geven.

------------------------------------

killall -HUP inetd
/usr/local/sbin/proftpd

ftpwho ( wie zit er op mijn ftp ? )