Im ersten Teil meines Fritzbox - Modding Tagebuches habe ich, referenzierend auf weitere Web-Quellen, erklärt, wie ich einen Telnet Server auf der Fritzbox installiert habe.

Heute möchte ich das gerne um einen FTP Server erweitern, da dieses den Austausch von Daten stark erleichtert.

Der Schritt, den Telnetserver zu installieren, scheint in nahezu allen anderen Tutorials die Grundvoraussetzung zu sein. So auch für dieses: Wer einen FTP Server haben will, braucht an dieser Stelle bereits einen Zugang zur Fritzbox per Telnet.

Wie werden Configdateien auf der Fritzbox editiert?

Meistens werden Erweiterungen aufgrund des relativ kleinen, fixen Speichers, der einen Neustart der Box übersteht, beim booten der Box aus dem Internet gezogen. Dadurch muss der Speicher nur für ein Shellscript reichen.

Der Arbeitsspeicher der Box ist reichlich bemessen. Ich meine gelesen zu haben das dieser 32 MB groß ist.

Die am meisten editierte Datei auf der Fritzbox ist /var/flash/debug.cfg, da diese durch andere Fritzbox-eigenen Mechanismen nicht beeinträchtigt wird. Man könnte fast meinen sie sei für User-Modifikationen gemacht ;)

Diese Datei kann nicht direkt per FTP oder einem Editor bearbeitet werden. Wer genau wissen will warum, der lese bitte hier.

Daher muss man die Datei zunächst in den Temporären RAM-Speicher "kopieren". Das geht wie folgt:

cat /var/flash/debug.cfg > /var/tmp/debug.cfg

So werden die verteilten Stücke der Datei in eine "echte" Textdatei in /var/tmp/ (RAMdrive der Fritzbox) zusammengefügt.

Diese Datei kann man nun editieren.

Die bearbeitete Datei kann man wiederum ganz normal kopieren:

cp /var/tmp/debug.cfg /var/flash/debug.cfg

Meine Datei sieht nach der Installation des Telnet Servers wie folgt aus:

#!/bin/sh
#>>TELNET
if [ "\$(busybox | grep -c ' telnetd,')" = "1" ];then
/bin/busybox telnetd -l /sbin/ar7login
else
{
while !(ping -c 1 lcr.telefonsparbuch.de); do sleep 5; done
wget -qO /var/utelnetd http://lcr.telefonsparbuch.de/software/fritzbox/utelnetd

# Ohne Kennwort-Abfrage
# echo "root::0:0:root:/var/tmp:/bin/sh" > /etc/passwd
# chmod +x /var/utelnetd
# /var/utelnetd -d -l /bin/sh

# Mit Kennwort-Abfrage
chmod +x /var/utelnetd
/var/utelnetd -d -l /sbin/ar7login
} &
fi
#<<TELNET

Ich beginne an dieser Stelle mit der Einrichtung des FTP Servers, da ich keine Lust habe diese Datei rein mit cat - Befehlen zu editieren...

Dazu ersetze ich den obigen Dateiinhalt durch den folgenden:

#!/bin/sh
#>>TELNET
if [ "\$(busybox | grep -c telnetd,)" = "1" ];then
/bin/busybox telnetd -l /sbin/ar7login
else
{
while !(ping -c 1 www.zoosau.de); do sleep 5; done
wget -qO /var/utelnetd http://www.zoosau.de/software/Internet_und_Netzwerk/fritz.box/utelnetd
chmod +x /var/utelnetd
/var/utelnetd -d -l /sbin/ar7login
} &
fi
#<<TELNET
#>>FTP
cd /var/tmp
while !(ping -c 1 www.zoosau.de); do sleep 5; done
wget -qO /var/tmp/bftpd http://www.zoosau.de/software/Internet_und_Netzwerk/fritz.box/bftpd
wget -qO /var/tmp/bftpd.conf http://www.zoosau.de/software/Internet_und_Netzwerk/fritz.box/bftpd.conf
chmod +x /var/tmp/bftpd
./bftpd -d -c /var/tmp/bftpd.conf
#<<FTP

echo "ww:PASSWORTHASH:0:0:root:/:null" >> /var/tmp/passwd

PASSWORTHASH kann man unter Linux mit dem tool htpasswd hervorragend erzeugen:

htpasswd -n username

Nach einem Fritzbox - Neustart sollte ich mich sowohl per Telnet wie auch FTP anmelden können ... siehe da: Es geht! :)

Teilen per: TwitterEmail


Comments

comments powered by Disqus