Archiv verlassen und diese Seite im Standarddesign anzeigen : wu-ftpd 2.6.2
Melange
11.01.2005, 18:06:41
Ich hab mir ne uClibc cross-toolchain auf meinem Debian woody für die m740av erzeugt. Damit hab ich gerade eben mal den FTP-Server WU-FTPD übersetzt, läßt sich ohne segv starten. Ich denk ma der funzt, mein "Hello world" und tiny_httpd sind auch ok.
Prozedur ist echt simpel, src-Paket von http://www.wu-ftpd.org/ ziehen, dann:
tar xzf wu-ftpd-2.6.2.tar.gz
cd wu-ftpd-2.6.2
./configure --host=mips-linux
make
Auf der Box gestartet:
M740AV:/var/media/PC2/wu-ftpd-2.6.2# bin/ftpd -V
Copyright (c) 1999,2000 WU-FTPD Development Group.
All rights reserved.
Portions Copyright (c) 1980, 1985, 1988, 1989, 1990, 1991, 1993, 1994
The Regents of the University of California.
Portions Copyright (c) 1993, 1994 Washington University in Saint Louis.
Portions Copyright (c) 1996, 1998 Berkeley Software Design, Inc.
Portions Copyright (c) 1989 Massachusetts Institute of Technology.
Portions Copyright (c) 1998 Sendmail, Inc.
Portions Copyright (c) 1983, 1995, 1996, 1997 Eric P. Allman.
Portions Copyright (c) 1997 by Stan Barber.
Portions Copyright (c) 1997 by Kent Landfield.
Portions Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997
Free Software Foundation, Inc.
Use and distribution of this software and its source code are governed
by the terms and conditions of the WU-FTPD Software License ("LICENSE").
If you did not receive a copy of the license, it may be obtained online
at http://www.wu-ftpd.org/license.html.
Version wu-2.6.2(1) Tue Jan 11 18:57:11 CET 2005
Ich muß jetzt weg, werd aber nachher probieren den zu konfigurieren und dann berichten :)
Gruß,
Melange.
Melange
12.01.2005, 19:07:15
Hmm ich komm nicht weiter, vielleicht weiß hier ja jemand Rat.
Der ftpd läuft zwar soweit ok, nur fehlt eine wirklich essentielle Funktion: Umschalten zwischen ASCII und BINARY transfer (TYPE A und TYPE I)!? Ich kann mich von meinem PC aus ner DOS-Box via FTP an meiner m740av einloggen, ls/cd/get funktionieren einwandfrei. Nur wenn ich auf binary mode wechseln will heißt's 'command not understood'.
Testweise hab ich dieselben Quellen auf meinem Linux-Server übersetzt und dort das (native) binary mit gleichen config-files gestartet, da wurde diese Funktion einwandfrei unterstützt, also an wu-ftpd selbst kann's nicht liegen. Bei diesem binary war es mir auch möglich den FTP server aus dem Browser anzusprechen (sowohl Firefox als auch IE getestet), das ging bei der anderen Fassung nicht (Firefox: 'TYPE I: command not understood', IE: 'TYPE A: command not understood').
Auf der m740av läuft kein syslogd weswegen ich keine Ahnung hab was da schiefgeht, und mir ist es auch nicht gelungen einen syslogd zum Laufen zu kriegen (busybox kann das, in den Quellen von Siemens ist's deaktiviert, läßt sich aktivieren, übersetzen und starten), das scheitert daran dass /dev/log (unix domain socket über die logging meist läuft) nicht erzeugt werden kann (read only file system). /dev läßt sich nicht so ohne weiteres ersetzen, der telnet-trick klappt hier also nicht.
ERGÄNZUNG: Habe inzwischen syslogd in einer chroot-Umgebung zum Laufen gebracht, ist zwar nett, hilft aber auch nicht weiter, in <syslogd>/var/log/messages taucht nichts auf. Hmpf..
Ich hab den vagen Verdacht das irgendein kernel feature fehlt, hab aber wirklich keinen Schimmer was das sein könnte.
Wenn jemand will dann pack ich die binaries von wu-ftpd (und was dazugehört) ein und mach sie hier verfügbar. Ich find den server so unbrauchbar.
Melange
Eine Session:
C:\Projects>ftp 192.168.1.4
Connected to 192.168.1.4.
220 M740AV FTP server (Version wu-2.6.2(4) Wed Jan 12 09:16:40 CET 2005) ready.
User (192.168.1.4:(none)): anonymous
331 Guest login ok, send your complete e-mail address as password.
Password:
230 Guest login ok, access restrictions apply.
ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls.
total 17
-rw------- 1 root 264 Jan 12 17:06 .bash_history
drwxr-xr-x 1 102 1032 Jan 1 1970 bin
drwxr-xr-x 1 root 0 Jan 1 1970 data
drwxrwxr-x 1 root 5712 Jan 1 1970 dev
drwxr-xr-x 5 root 1024 Jan 12 17:49 etc
drwxr-xr-x 1 root 40 Jan 10 19:46 homes
drwxrwxr-x 1 102 1176 Jan 1 1970 lib
drwxr-xr-x 1 root 0 Jan 10 19:46 lost+found
drwxr-xr-x 1 root 0 Jan 10 19:46 mnt
drwxrwxr-x 1 root 0 Jan 10 19:46 mnt1
drwxrwxr-x 1 root 0 Jan 10 19:46 mnt2
dr-xr-xr-x 63 root 0 Jan 1 1970 proc
drwxr-xr-x 1 root 152 Jan 1 1970 pvr
drwxr-xr-x 1 root 44 Jan 1 1970 root
drwxr-xr-x 1 102 540 Jan 1 1970 sbin
lrwxrwxrwx 1 root 8 Jan 10 19:46 tmp -> /var/tmp
drwxr-xr-x 1 102 112 Jan 1 1970 usr
drwxr-xr-x 10 root 1024 Jan 1 1970 var
226 Transfer complete.
ftp: 983 bytes received in 0,06Seconds 15,85Kbytes/sec.
ftp> cd etc
250 CWD command successful.
ftp> ls
200 PORT command successful.
150 Opening ASCII mode data connection for file list.
SerialNr.config
TZ.bak
TZ_jra
directfbrc
fb.modes
fstab
ftpaccess
ftpconversions
ftpservers
ftpusers
group
hosts
inetd.conf
inittab
lircd.conf
load_modules
mtab
noupdate.sh
passwd
profile
protocols
rc
rc1
rc~
resolv.conf
run.sh
rz~
services
shadow
shadow-
termcap
update.sh
226 Transfer complete.
ftp: 306 bytes received in 0,00Seconds 306000,00Kbytes/sec.
ftp> get services
200 PORT command successful.
150 Opening ASCII mode data connection for services (5580 bytes).
226 Transfer complete.
ftp: 5762 bytes received in 0,08Seconds 73,87Kbytes/sec.
ftp> asc
500 'TYPE A': command not understood.
ftp> binary
500 'TYPE I': command not understood.
ftp> bye
221-You have transferred 5762 bytes in 1 files.
221-Total traffic for this session was 7868 bytes in 3 transfers.
221-Thank you for using the FTP service on M740AV.
221 Goodbye.
C:\Projects>
Melange
15.01.2005, 11:02:44
Bei einem weiteren Anlauf hab ich's jetzt hinbekommen. Das Problem war das ich dynamisch gelinkt habe, muß aber offensichtlich statisch linken da sich die Bibliotheken der uClibc-toolchain doch zu stark von denen auf der Box unterscheiden. Das binary hab ich jetzt erstellt mit
./configure --enable-anononly --disable-dns --host=mips-linux CFLAGS=-static LDFLAGS=-Wl,-static
make
Das gesamte Verzeichnis von meinem Rechner einschl. Quellen und Binaries hab ich hier verfügbar gemacht:
wu-ftpd-2.6.2-m7040av.tar.bz (http://www.rekoba.de/~cs/wu-ftpd-2.6.2-m7040av.tar.bz) [647 KByte]
Installation
Das Archiv in ein beliebiges freigegebenes Verzeichnis entpacken (PC oder USB-HDD, braucht nicht auf die Box).
Auf der Box einloggen.
Vor dem ersten Start (nach jedem Reboot der Box) FTP-Benutzerkonto zufügen mit
echo "ftp:x:1000:1000:anonymous ftp:/:/bin/nologin" >> /etc/passwd
Server starten mit
bin/ftpd -s &
Server stoppen mit
pkill ftpd
Anmelden mit Benutzerkennung ftp oder anonymous, kein Kennwort.
Der gesamte Verzeichnisbaum der Box ist via FTP auslesbar, auch aus dem Browser. Schreibzugriff auf die Box ist nicht konfiguriert, müßte aber konfigurierbar sein (hab's nicht weiter ausprobiert).
Gruß,
Melange.
Lemmi
15.01.2005, 11:36:53
Der gesamte Verzeichnisbaum der Box ist via FTP auslesbar, auch aus dem Browser. Schreibzugriff auf die Box ist nicht konfiguriert, müßte aber konfigurierbar sein (hab's nicht weiter ausprobiert).
Da alles auf der Box root.root gehört und die Verzeichnisse durchgehend den mod 755 und die Dateien den mod 755 oder 644 haben, muß man wahrscheinlich den root-Benutzer freischalten. Dieses bedarf evtl. einen Eingriff in die Quellen.
Melange
15.01.2005, 11:47:18
Da alles auf der Box root.root gehört und die Verzeichnisse durchgehend den mod 755 und die Dateien den mod 755 oder 644 haben, muß man wahrscheinlich den root-Benutzer freischalten. Dieses bedarf evtl. einen Eingriff in die Quellen.Naja, du denkst hier scheinbar an FTP-Schreibzugriff auf die gesamte Box, daran hab ich gar nicht gedacht, ich dachte nur an einen selbst erstellten Ordner in /tmp der als FTP-Eingang dient - dort können von uns ja beliebige Schreibrechte eingeräumt werden.
Gruß,
Melange.
Lemmi
15.01.2005, 12:07:20
Naja, du denkst hier scheinbar an FTP-Schreibzugriff auf die gesamte Box, daran hab ich gar nicht gedacht, ich dachte nur an einen selbst erstellten Ordner in /tmp der als FTP-Eingang dient - dort können von uns ja beliebige Schreibrechte eingeräumt werden.
Gruß,
Melange.
Ich dachte an: EPG, Timer, und USB-Platte. Das sind die Verzeichnisse /data/SI , /data/.timer und /var/media/USB-HDD. Die gehören alle root.root.
Andersherum muß /dev, /data und /var (Ausnahme USB-HDD) vor Dummies geschützt werden.
Powered by vBulletin® Version 4.1.9 Copyright ©2012 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.