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.
---------------
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 ? )