Administration des ProFTPDBei den meisten Distributionen ist dieser FTP-Server ebenso wie der WuFTPDmit enthalten und steht als Binärpaket zur Verfügung. Sollte dasnicht der Fall sein, kann man die ProFTPD-Quellen von ftp://ftp.proftpd.org/ herunterladen. Das Entpacken, Compilieren und Installieren des Quellpakets erfolgt standardmäßig mit ./configure --enable-autoshadow --sysconfdir /etc/makemake install Die erste Option bewirkt, daß die Datei /etc/shadow als Passwortdatei benutzt wird und die zweite Option setzt das Konfigurationsverzeichnis auf /etc.Nachdem Sie einen eventuell schon vorhandenen FTP-Server deaktivierthaben, wird in der Datei /etc/inetd.conf die Zeile ftp stream tcp nowait root /usr/sbin/proftpd proftpd oder bei Verwendung des tcpd:ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/proftpd proftpd
eingefügt und der inetd neu gestartet. Im zweiten Fall muss dann
noch die Datei hosts.allow durch die Zeile
proftpd: localhost : ALLOW
ergänzt werden (statt "localhost" kommt da ggf. etwas anderes hin).
Falls ein Anonymous-FTP-Zugang geboten werden soll, muß noch ein Benutzer
ftp mit dem Homeverzeichnis /home/ftp (mit den
Unterverzeichnissen pub und ggf. pub/incoming)
eingerichtet werden. Ein Text, der immer beim Login ausgegeben wird,
kann in /home/ftp/login.txt gespeichert werden.
Vor allem muss die Datei /etc/proftpd.conf konfiguriert werden. Im
Source-Verzeichnis befinden sich unter sample-configurations/ einige
Beispiel-Konfigurationen, die man zum ersten Testen verwenden kann.
Konfiguration
Die Konfiguration von proftpd ist sehr flexibel, leider auch etwas
unübersichtlich, wenn die Komplexität der Einstellungen steigt. Sie ist
aber auch sehr einfach zu erlenen, da die Syntax dem HTML-ähnlichen Code
von apache folgt.
Wir spielen das ganze einfach einmal anhand eines einfachen Beispiels
durch, wie es auch in der Praxis auftreten dürfte. Die deutsche Pinguin
GmbH, die sich auf die Herstellung von Netzwerklösungen für Linux
spezialisiert hat, möchte ihre Programme per FTP der gesamten Welt zur
Verfügung stellen, ihren Gästen und Kunden aber auch die Möglichkeit
bieten, Programme auf dem Server abzulegen (z.B. zum Debuggen). Da die
kleine Firma auch ein paar außenstehende Mitarbeiter hat, die im
gesamten Bundesgebiet operieren, sollen sie auch an Daten kommen, die
nicht für die Öffentlichkeit bestimmt sind. Diese Dateien sind dann im
jeweiligen Home-Verzeichnes der User-Accounts zu finden.
Zuerst wird ein Grundgerüst für die Konfigurationsdatei
/etc/proftpd.conf erzeugt, in der die wichtigsten Grundeinstellungen
eingetragen werden:
ServerName "Bluff GmbH"
ServerAdmin ftpadm@bluff.de
ServerType inetd
Umask 022
User nobody
Group nobody
DisplayLogin login.txt
DisplayFirstChdir .message
MaxClients 15
MaxInstances 30
Eine Beispiel-login.txt
Hallo, Benutzer %U@%R!
Willkommen auf dem FTP-Server der Bluff GmbH! Sie koennen Programme
aus dem Verzeichnis /pub/coolstuff downloaden. Falls Sie uns Dateien
zukommen lassen, legen Sie diese im Verzeichnis /pub/incoming ab.
Falls Sie Fragen oder Probleme zu unserem FTP-Server haben, schreiben
Sie bitte eine E-Mail an %E.
Viel Spaß wünscht Ihnen
Das Bluff-Team
Der Anonymous-FTP-Zugang für die Gäste wird eingerichtet (als
Fortsetzung der /etc/proftpd.conf):
# Normally, we want files to be overwriteable.
<Directory /*>
AllowOverwrite on
</Directory>
# anonymous ftp section
<Anonymous ~ftp>
RequireValidShell off
User ftp
Group ftp
# Maximum clients with message
MaxClients 5 "Sorry, max %m users -- try again later"
User ftp
Group ftp
UserAlias anonymous ftp
<Limit LOGIN>
AllowAll
order allow,deny
Allow from 192.168.1. , .example.net
deny from all
</Limit>
<Limit WRITE>
DenyAll # Schreiben verboten
</Limit>
<Directory incoming>
<Limit READ>
DenyAll
</Limit>
<Limit STOR>
AllowAll
</Limit>
</Directory>
</Anonymous>
Das war's schon für die Konfigurationsdateien.
Weitere Features
Eine besonders interessante Eigenschaft des ProFTPD: Man kann mehrere virtuellle
Hosts einrichten, die alle getrennt ansprechbar sind:
<VirtualHost ftp.trouble.de>
ServerName "Trouble"
ServerAdmin boss@trouble.de
</VirtualHost>
Bei sehr beschäftigten Servern sollte man unbedingt die
Variablen TimeoutIdle, TimeoutLogin und
TimeoutNoTransfer setzen, um den Server besser auszunutzen.
Außerdem sind die Zugriffsbeschränkungen des Servers natürlich
viel komplexer und detaillierter konfigurierbar
als diese kurze Übersicht erahnen läßt.
Weitererführende Infos liefern der
Konfigurationstext
und die
Referenz,
die leider nicht im proftpd-Paket erhalten sind und extra
heruntergeladen werden müssen.
|