Installation und erste Schritte
In diesem Artikel stelle ich die Installation des im Unix-Umfeld weitverbreiteten FTP-Servers ProFTPD vor. Außerdem zeige ich, wie du einen neuen FTP-Benutzer für die Bereitstellung von Dateien auf einer Internetseite einrichten kannst.
Installation
Die Installation des FTP-Servers kann vom Benutzer root mit folgendem Befehl gestartet werden:
aptitude install proftpd
Während der Installation wird man gefragt, ob der Server als eigenständiger Daemon laufen oder von Inetd bei einer Verbindungsanfrage gestartet werde nsoll. Die Auswahl den Server als Daemon laufen zu lassen ist standardmäßig ausgewählt und kann bestätigt werden. Nach der Installation ist der Server gestartet und bereits vorkonfiguriert.
Starten und Stoppen des Servers
Der Server kann mit dem folgenden Befehl gestartet werden:
/etc/init.d/proftpd start
Zum Beenden des Servers ist dem Skript das Argument stop zu übergeben.
Wurden Änderungen an der Konfiguration vorgenommen, muss der Server die Konfiguration mit folgendem Aufruf erneut einlesen:
/etc/init.d/proftpd reload
Einführung in die Konfiguration
Die zentrale Konfigurationsdatei des Servers heißt proftpd.conf und ist im Verzeichnis /etc/proftpd/ zu finden. In diesem Verzeichnis befindet sich auch die Datei modules.conf, die für das Laden optionaler Module zuständig ist.
In der Datei proftpd.conf werden – wie beim Apache Webserver – Direktiven in jeweils einer Zeile notiert. Zeilen, die mit einem #-Zeichen beginnen, werden als Kommentare angesehen und ignoriert.
Anpassen der Konfiguration
In diesem Abschnitt stelle ich ein paar Direktiven vor, die den Server etwas absichern und die Geschwindigkeit beim Einloggen erhöhen:
Die Direktive DefaultRoot sorgt dafür, dass ein Benutzer nach dem Einloggen nur die Verzeichnisse unterhalb des zugewiesenen Ordners zu sehen bekommt. So kann jeder Benutzer nur die ihm zugewiesenen Ordner und Dateien sehen/verändern.
Mit der folgenden Zeile sorgt man dafür, dass jeder Benutzer sofort in sein Heimatverzeichnis gesperrrt wird:
DefaultRoot ~
Mittels RootLogin kann man steuern, ob sich der Benutzer root auch anmelden darf. Dies sollte auf keinen Fall möglich sein, weshalb die folgende Zeile hinzuzufügen ist:
RootLogin off
Wenn man einen Benutzer für das Bereitstellen von Dateien einrichtet, muss diesem nicht zwingend eine Shell zugewiesen werden. Dadurch wird erreicht, dass der Zugang ausschließlich für den FTP-Zugang genutzt werden kann. Der FTP-Server geht aber in der Standardkonfiguration davon aus, dass jeder Benutzer eine in der Datei /etc/shells aufgelistete Shell verwendet. Mit dem folgenden Eintrag wird diese Einstellung deaktiviert:
RequireValidShell off
Mit den folgenden Direktiven wird die Anmeldung auf dem Server beschleunigt:
UseReverseDNS off
IdentLookups off
Die Änderungen an der Konfiguration werden erst nach einem erneuten Einlesen der Konfiguration wirksam.
Informationen zur Bedeutung dieser und weiterer Direktiven findest du im Support-Bereich der Website proftpd.de.
Einen FTP-Benutzer anlegen
In diesem Beispiel soll der Benutzer mit dem Benutzernamen lfb-local angelegt werden, da dieser Dateien für die Website lfb.local hochladen möchte. Der neue Benutzer wird der Benutzergruppe www-data zugewiesen und der Pfad zu seinem Heimatverzeichnis wird auf /var/www/lfb.local gesetzt. Da dieser Benutzer keinen echten Zugang zum Linux-System bekommen soll, wird ihm die Shell /bin/false zugewiesen. Somit ist das Einloggen über SSH oder die Tastatur nicht möglich.
Der folgende Befehl legt den Benutzr an und legt die oben beschriebenen Parameter fest:
useradd -d /var/www/lfb.local -g www-data -s /bin/false lfb-local
Der neue Benutzer lfb-local hat noch kein Kennwort. Dieses kann mit folgendem Befehl zugewiesen werden:
passwd lfb-local
Verbindung zum Server herstellen
Nun kann sich der neu angelegte Benutzer lfb-local mit dem zugewiesenen Kennwort auf dem FTP-Server anmelden und Dateien und Verzeichnisse hochladen.
In der folgenden Adresszeile für deinen Browser gehe ich davon aus, dass der Benutzername lfb-local und das Kennwort geheim lautet und der Server über den Namen lfb.local von deinem Computer aus erreichbar ist. Der Aufruf würde wie folgt lauten:
ftp://lfb-local:geheim@lfb.local
Datum der Veröffentlichung: Samstag, 03.02.2007