
Statistik Anzeige | Tutorial: FTP Server (PureFTPd) auf Linux einrichtenFTP Server (PureFTPd) auf Linux einrichtenEinrichtung eines FTP Servers unter Linux mit PureFTPd und virtuellen Benutzern Ziel dieses Tutorials ist das Einrichten eines FTP Servers für Linux mit virtuellen Benutzern. Virtuelle Benutzer in dem Sinne, dass dafür keine bzw. nur ein Systembenutzer benötigt wird. Dies lässt das System weitaus sauberer erscheinen. PureFTPd unterstützt seit Version 0.99.2 virtuelle Benutzer. Wie ihr PureFTPd installiert sollte euch durchaus klar sein und wird in diesem Tutorial nicht behandelt. Los geht’s: Anlegen eines Systembenutzers: PHP:
PHP: Was haben wir da grade gemacht?
[*] Eine Gruppe mit dem Namen 'ftpgroup' erstellt. [*] Einen Benutzer 'ftpuser', der in der Gruppe 'ftpgroup' ist, das Homeverzeichnis '/dev/null' (also gar nix) und die Shell /etc (also auch nix) zugewiesen bekommen hat, erstellt. Anlegen eines FTP Benutzers mit dem Namen 'helmut' Zusätzlich werden wir dem Benutzer nur 10 MegaBytes zur Verfügung stellen. PHP: Danach muss das Passwort zweimal eingegeben werden.
Was haben wir da grade gemacht? [*] Der Benutzer 'helmut' besitzt nun die Rechte vom Systembenutzer 'ftpuser' (-u ftpuser). Werden nun von diesem Benutzer Dateien per FTP hochgeladen, so haben diese die Rechte von 'ftpuser' bzw. 'ftpgroup'. [*] Der Benutzer wurde ins Verzeichnis '/home/pubftp/helmut' verbannt („chrooted“). Er kann nicht aus diesem Verzeichnis heraus und in andere Verzeichnisse (wie zum Beispiel Verzeichnisse von anderen FTP Usern) ansehen. [*] Der Benutzer darf nur 10 MegaBytes Speicherplatz verwenden (-N 10). Wo werden die ganzen Benutzer gespeichert? Die Benutzer werden standardmäßig in der '/etc/pureftpd.passwd' gespeichert. Jedoch werden alle Änderungen in dieser Datei nicht vom FTP Server gleich angewandt. Dazu muss erst die Datenbank (PureDB Datei) erzeugt werden: PHP: Jetzt sollte die Datenbank aktualisiert sein. Sie wird standardmäßig in '/etc/pureftpd.pdb' abgelegt. Es ist zudem eine binäre Datei, in der die Benutzerkonten jedoch sortiert sind und für den schnelleren Zugriff indiziert werden. Das ist vor allem für größere Systeme von Vorteil, da dort meist an die 1000 Konten verwaltet werden müssen.
Benutzerinformationen abfragen Erst alle Benutzer auflisten lassen: PHP: Dann den gewünschten abfragen:
PHP:
Das bedeutet schlicht und einfach, dass der Benutzer „chrooted“ wird (er kommt aus dem Verzeichnis nicht heraus, um zum Beispiel andere Benutzerverzeichnisse anzusehen) Die Passwörter werden in der Regel nach dem bestmöglichsten Verschlüsselungsalgorithmus verschlüsselt: Der Reihe nach wird versucht: Blowfish, MD5, multiple DES, simple DES. Was tun, wenn ich ein Passwort vergessen habe? Mit dem Programm 'pure-pw' lassen sich auch einfach neue Passwörter setzen: PHP: Dann wird das Passwort wieder zweimal eingegeben.
Datenbank updaten nicht vergessen!: PHP: Unsere Einstellungen testen:
Zuerst muss der FTP Server gestartet werden: PHP: (Falls der FTP im Hintergrund laufen soll (als Daemon) einfach den Schalter '-B' hinzufügen.)
Abgebrochen wird mit [Strg]+C. Wozu sind die vielen Parameter gut? [*] -S 127.0.0.1,21: Der FTP Server wird an die lokale Adresse gebunden. Als Port wird der Standardport verwendet. [*] -c 30: 30 Verbindungen zum FTP Server sind erlaubt [*] -C 1: aber nur jeweils eine Verbindung pro IP Adresse [*] -l puredb:/etc/pureftpd.pdb: Gibt an, dass als Datenbank das PureDB file '/etc/pureftpd.pdb' verwendet werden soll. [*] -E: Es sind keine anonymen Logins erlaubt. [*] -j: Wenn beim Benutzer ein Heimverzeichnis angegeben wird, das (noch) nicht existiert, wird dieses beim ersten Login des Benutzers automatisch angelegt. [*] -R: Die Verwendung vom CHMOD Befehl wird unterbunden. In einer anderen Konsole (oder einem anderen Terminal) loggen wir uns als 'helmut' auf dem FTP Server ein. PHP:
PHP: Die Befehle die ich während der FTP Sitzung eingegeben habe, habe ich fett hervorgehebt.
Für Interessierte empfehle ich auch einen Blick in die Manpage von pure-ftpd: PHP: Für Fragen (die nicht unbedingt etwas mit Linuxgrundkenntnissen zu tun haben) stehe ich gerne zur Verfügung.
Gerne nehme ich auch Anreize, Kritik, Verbesserungsvorschläge und Ähnliches entgegen. -- Das Tutorial ist auch als PDF verfügbar: http://insanityonstage.in.funpic.de/Cybton-Tutorial-PureFTPd-Linux.pdf Zuletzt bearbeitet am 22. Dezember 2007 (Link zur PDF Version aktualisiert, PDF Version neu erstellt, da alte Version auf Rootserver gelöscht wurde). Dieses Tutorial wurde von tom am 12.03.2006 verfasst. Kommentare
|