================================================================================== Achtung: Mehr deutsche Dokumentation zum Proftpd gibt es auf http://www.proftpd.de Dieses Dokument wurde dort weitestgehend mit uebernommen und wir nur noch dort weiter gepflegt! Sprich diese FAQ ist out of date! ================================================================================== Ich habe meinen Proftpd auf einen aktuellen CVS Snapshot upgedatet und ploetzlich funktioniert das Ueberschreiben von Dateien nicht mehr. Warum? ================================================================================= Scheinbar hat sich in einem der letzten Updates etwas in der Verarbeitung der Konfigurationsdatei geaendert. Frueher wurde die Option AllowOverwrite on in eine Option eingeschlossen. Dies funktioniert auch immer noch ohne das der Parser sich beschwert allerdings funktioniert das ueberschreiben der Dateien nicht mehr. Workaround: Konfiguration frueher: --- HideNoAccess on AllowOverwrite on --- Konfiguration fuer Proftpd ab 1.2.5rc* --- AllowOverwrite on HideNoAccess on AllowOverwrite on --- Alternativ kann man scheinbar auch nehmen (danke Stonki). Note: Das ganze ist ein Bug und traegt die Bug ID 1460 Report findet sich hier: http://bugs.proftpd.org/show_bug.cgi?id=1460 Proftpd aus den Sourcen installieren Step by Step: ================================================== Step 1: nach dem Download: tar -zxf proftpd.tar.gz cd ./configure (ggf. ./configure --enable-shadow --prefix=/wo/du/moechtest/normalerweise/usr/local/ --sysconfdir=/wie/du/moechtest/etc/oder/prefix/etc) Step 2: make && make install Step 3: cp proftpd.conf nach sysconfdir (Beispiel fuer eine Basis config liegt im Source Directory unter sample-configurations) Step 4: Setze folgende Zeile in die inetd.conf und deaktiviere alles andere mit ftp am Anfang durch das Vorranstellen eines "#". ftp stream tcp nowait root /dein/pfad/zum /proftpd/sbin/proftpd proftpd Step 5: Restarte den inetd. Meistens /etc/init.d/inetd restart Step 6: Freue dich ueber einen funktionierenden proftpd! Wenn das nicht geht stimmen irgendwelche Pfade nicht. Alternativ kannst Du in der proftpd.conf auch als ServerType standalone angeben und mal ein proftpd --help machen (also /dein/pfad/zum/proftpd/sbin/proftpd --help) Dann siehst Du die moeglichen Parameter und kannst dir zusammen suchen was Du brauchst. Da kannst Du auch das Debuglevel hoeher stellen. (-d 5 ist am hoechsten, in dem Zusammenhang ist ein -n auch ganz sinvoll damit man den Output direkt auf die Konsole bekommt) Wie kann ich beim proftpd die User in ihrem Homeverzeichniss "einsperen"? ========================================================================= Du suchst die Option "DefaultRoot ~" fuer die proftpd.conf. Diese Option sorgt dafuer das nach jedem Login ein chroot (change root, wechselt das, was fuer den User als "/" erscheint) nach "~" gemacht wird. Die Tilde steht auf Unix System normalerweise fuer das Homeverzeichniss eines Users. Ausnahmen koennen Gruppenweit mit einem "!" definiert werden. Alternativ ist natuerlich auch moeglich nur die Gruppe zu definieren die eingespert werden soll "DefaultRoot ~ " Ausfuehrliche Docu findest Du hier: http://www.proftpd.org/docs/configuration.html#DefaultRoot Chroot und Freigabe von Daten ausserhalb des chroot (DefaultRoot) ================================================================== Wenn man ein "DefaultRoot' gesetzt hat ist es grundsaetzlich nicht moeglich auf Verzeichnisse die Oberhalb des chroot liegen per Link zuzugreifen. Ausnahmen bilden Hardlinks. Bei Hardlinks ist allerdings zu beachten das die Datei existent sein muss was wiederum bedeutet das keine Verzeichnisse verlinkt werden koennen sondern nur einzelne Files. Ausserdem sollte man darauf achten den Hardlink beim loeschen der Datei mitzu entfernen. Eine weitere Moeglichkeit bieten alle Linux-Kernel ab v2.4.x durch die Moeglichkeit eine Partition mehrfach zu mounten. D.h. man legt die Daten auf die alle User zugreifen sollen auf einer extra Partition ab und mountet diese dann bei jedem User innerhalb des chroot ein weiteres mal. Eine Moeglichkeit solche Probleme zu umgehen besteht darin die Verzeichnisstrucktur dahingehend anzulegen das alle User ein identisches DefaulRoot bekommen und innerhalb dieses DefaultRoots ihre Homeverzeichnisse sind die durch das Systemeigene Rechtesystem geschuetzt sind. 500 Sorry, no server available to handle request oder warum antwortet mir mein Proftpd nicht auf allen Interfaces? =========================================================================== Ueber den DefaultServer on Eintrag in der proftpd.conf koennt ihr bestimmen welche Konfiguration per Default benutzt wird fuer Interfaces die keinen eigenen VirtualHost zugewiesen bekommen haben. Das Problem tritt normalerweise immer dann auf wenn jemand einen Server mit mehreren Interfaces hat (ISDN/DSL Router z.B.) und da halt keinen VirtualHost Eintrag zuweisen kann da das Interface eine dynamische IP Adresse bekommt. Der Parameter DefaultServer darf in der Globalen Konfiguration oder in einem Virtualhost Eintrag stehen. Wie kann ich am besten meinen Proftpd / meine Konfigurationsdatei debuggen? (Fehlersuche leicht gemacht ;) =========================================================================== Zum debuggen des Proftpd Servers oder der Konfigurationsdatei sollte der Proftpd am besten fuer den standalone mode konfiguriert werden: --- ServerType standalone --- Dies ermoeglicht es den Proftpd auf der Konsole mit den Parametern -nd 5 (no daemon == proftpd setzt sich nicht in den Hintergrund; debug == setzt das debug level auf die hoechste stufe) zu starten um alle Fehlermeldungen in echtzeite zu bekommen. --- #/usr/local/sbin/proftpd -nd 5 voyager.telelev.de - Config for Proftpd auf voyager: [output about your configuration] voyager.telelev.de - ProFTPD 1.2.5rc1 (CVS) (built Fri Dec 28 13:23:40 CET 2001) standalone mode STARTUP .... --- Mehr Tipps (englisch) befinden sich hier: http://www.castaglia.org/proftpd/doc/contrib/ProFTPD-mini-HOWTO-Debugging.html Eine vorlauefige wahrscheinlich noch Fehlerhafte Uebersetzung findet sich unter http://www.hoaxter.de/proftpd/debug-proftpd.txt by Sven Hoexter - sven@timegate.de Last change: 25.09.2002