Skip to content

Bftpd 6.2

"The bftpd program is a small, easy-to-configure FTP server. It
strives to be fast, secure and quick to install/configure."
http://bftpd.sourceforge.net/

Bftpd ist ein kleiner FTP Server. Um den Zugriff auf den FTP-Server mit
einem Passwort zu schützen, kann man wie folgt vorgehen:

  • Anonymer Zugriff auf der Freetz Konfigurations-Seite deaktivieren
  • In einer Shell (serielle Konsole, telnet oder dropbear) das Passwort
    für den Benutzer ftp ändern:

    Text Only
    passwd ftp
    modsave
    

Nun ist der Zugriff auf den FTP Server nur noch als Benutzer ftp mit dem
vergebenen Passwort möglich.

Zusätzliche Benutzer einrichten

  • Achtung: Der
    AVM-Dämon ctlmgr überschreibt die /etc/passwd bei Änderungen im
    Webinterface und löscht die angelegten User. Außerdem ist das
    Usermanagement von Freetz überarbeitet worden, so dass jetzt mit
    adduser username -h /var/media/ftp/uStor01 neue Benutzer angelegt
    werden können. Diese Änderung muss anschließend mit
    modusers save; modsave flash persistent gemacht werden.

Über eine kleine Änderung in der debug.cfg oder mit crond können
zusätzliche Benutzer mit frei wählbaren Homeverzeichnissen eingerichtet
werden.

Auf dieser Seite kann man sich die für die /var/tmp/passwd benötigten
Zeilen mit Benutzer und Passwort erzeugen lassen:

Text Only
http://home.flash.net/cgi-bin/pw.pl

Alternativ geht das auch mit dem Unix/Linux Kommando htpasswd.

Die Syntax sieht dann wie folgt aus:

Text Only
echo "user1:pass1:1000:1:ftp user:/var/media/ftp:/bin/sh" >> /var/tmp/passwd
echo "user2:pass2:1000:1:ftp user:/var/media/ftp:/bin/sh" >> /var/tmp/passwd
echo "user3:pass3:1000:1:ftp user:/var/media/ftp/uStor01/share:/bin/sh" >> /var/tmp/passwd

Wobei user und pass durch die zuvor zuvor erzeugten User und Passwörter
zu ersetzen sind. Wie auch die Pfadangaben sind das natürlich nur
Beispiele. Man beachte die Pfadangabe auf den USB-Stick im dritten
Beispiel. Der Pfad muss natürlich zum Zeitpunkt des Logins existieren,
sonst gibt es einen Fehler.

Anmerkung:

  • Das Passwort sollte nicht in der /etc/passwd, sondern in der
    /etc/shadow gespeichert werden. Das funktioniert auf der FritzBox,
    wie auf jeder üblichen Linux Distribution und ist im Internet an
    vielen Stellen dokumentiert.
  • Die einzelnen Benutzer erhhalten fortlaufende Benutzer-IDs und
    nicht, wie hier, alle Benutzer die selbe ID (hier: 1000). Als
    group-ID kann/sollte man die 1 (= Gruppe "users") nehmen, anstelle
    der 0 (= Gruppe "root").

Den AVM FTP benötigt ihr jetzt nicht mehr. Das Filesystem sollte auf
Lesen und Schreiben ohne Passwörter eingestellt sein. Der bftpd sollte
mit den Optionen "Automatisch starten lassen" und "nicht anonym"
gestartet werden.

Bestehende (persistente) Benutzer modifizieren

Ergänzung von Alexander Kriegisch
(kriegaex)

vom 13.10.2007:

Wie man im DS-Mod bis Version ds26-15.2 persistent Benutzer anlegt und
löscht, erkläre ich in den
How-Tos. Damit
hat man also schon einmal automatisch angelegte Benutzer und Passwörter
nach dem Hochfahren der Box. Die Passworteingabe erfolgt direkt an der
Konsole, man braucht keine externe Seite, die das berechnet.

Jetzt geht es noch darum, dass das Heimverzeichnis eines Benutzers sowie
seine UID (eindeutige numerische Benutzer-ID) automatisch jedesmal nach
dem Neustart der Box vom DS-Mod vergeben werden, da sie bislang nicht
persistent gespeichert werden (auch das wird sich zu 15.3 ändern). Wie
man nun bestehende Benutzerdaten entsprechend automatisch umbiegt,
beschreibe ich
dort
im Forum.