Pagina 1 van 1
Vraagje voor de Linux-kenners
Geplaatst: 03 feb 2016, 19:06
door honda4life
Hallo iedereen,
Ik ben weer bezig met de telnet daemon in de FritzBox 06.30 er terug in te steken.
Ze hebben deze functionaliteit er uit gehaald helaas.
Ik heb het reeds werkende gekregen maar ik begrijp niet 100% waar hoe en waarom en denk dat het beter kan.
Op 06.20 ziet het er als volgt uit in de /usr/sbin directory:
Code: Selecteer alles
lrwxrwxrwx 1 freetz freetz 17 Jan 31 14:56 telnetd -> ../../bin/busybox
Op 06.30 ziet het er als volgt uit in de /usr/sbin directory:
Link verdwenen
Zoals je ziet ligt er een link, gaan we naar deze directory:
Op wat slaagt die link nu eigenlijk?
Bestandsgrootte?
Kopieer ik dan telnetd en busybox naar m'n home directory:
Code: Selecteer alles
-rwxr-xr-x 1 freetz freetz 412K Feb 3 18:57 busybox
-rwxr-xr-x 1 freetz freetz 412K Feb 3 18:58 telnetd
Beiden zijn dan die busybox van hierboven?
Bestandsgrootte?
Zie hier ook het ene of het andere scriptje dat ik gevonden heb om telnetd eenmalig te lanceren, ook hier begrijp ik niet alles.
Eerst een kopie van de sbin directory in een tijdelijke directory.
Dan mounten ze deze directory terug naar diezelfde directory, waarom?
Dan creëren ze alle links opnieuw...
Code: Selecteer alles
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
cd /var/tmp
cp -R /usr/sbin /var/tmp/usersbin
mount -o bind usersbin /usr/sbin
ln -sf /bin/busybox usersbin/telnetd
ln -sf /bin/busybox usersbin/inetd
ln -sf /bin/busybox usersbin/brctl
ln -sf /bin/busybox usersbin/chroot
/usr/sbin/telnetd -l /sbin/ar7login -p 23
Nu kan ik vrij goed m'n plan trekken in linux, maar dit gaat toch even m'n petje te boven.
Bedankt voor de hulp alvast.
Re: Vraagje voor de Linux-kenners
Geplaatst: 03 feb 2016, 19:56
door Mathy
Heel veel tools onder Linux maken gebruik van éénzelfde binary om verschillende functionaliteiten te voorzien. Er worden dan symlinks naar dezelfde binary gelegd en de binary zelf kijkt bij het opstarten met welk cli-commando het opgestart is om vervolgens die bepaalde functionaliteit uit te voeren.
Busybox is zo een voorbeeld en bevat zowat alles wat je nodig hebt om in een shell te kunnen werken in 1 statisch gelinkte binary. Het bevat ook wat extra's zoals bijvoorbeeld filesystem-checkers en telnetd. Het kan echter wel zijn dat ze in deze versie telnetd niet mee ingecompileerd hebben waardoor het niet zal uitmaken of je die link legt of niet, het zal niet werken.
Jij hebt nu het bestand gekopieerd, dat kan ook maar neemt gewoon meer plek in op de opslagruimte dan een soft link die in het scriptje gemaakt wordt met de ln -sf call.
De reden dat ze die bestanden in het scriptje terug kopiëren is omdat ze een tijdelijke directory maken, en die over de bestaanden /usr/sbin directory mounten, waardoor de originele bestanden in die directory verborgen raken en het originele filesysteem niet wijzigt. Hierdoor is na een reboot het originele filesysteem weer zichtbaar.
Re: Vraagje voor de Linux-kenners
Geplaatst: 03 feb 2016, 20:16
door honda4life
Hartelijk dank.
Als ik me niet vergis is het originele filesysteem helemaal niet aanpasbaar en komt terug op originele stand na reboot.
Dat laaste klopt dus niet helemaal denk ik.
Re: Vraagje voor de Linux-kenners
Geplaatst: 03 feb 2016, 20:18
door bitbite
honda4life schreef:Op 06.30 ziet het er als volgt uit in de /usr/sbin directory:
Link verdwenen
Was dit toevallig na een reboot? Misschien dat ze periodiek expres die telnetd weghalen.
honda4life schreef:
Zoals je ziet ligt er een link, gaan we naar deze directory:
Op wat slaagt die link nu eigenlijk?
Bestandsgrootte?
Dit is een binary, maar waarom die 0 bytes is is me even een raadsel.
Het enige wat je moet doen is een
in je homedir ofzo, en dan die expliciet oproepen (/home/freetz/telnetd). Het zou me sterk lijken dat ze het hele filesystem afscannen op zoek naar telnetd.
Wat je ook kan doen is telnetd lanceren met
, die symlink is vooral voor het gemak.
Re: Vraagje voor de Linux-kenners
Geplaatst: 03 feb 2016, 20:27
door honda4life
Nee, ze hebben de functionaliteit geschrapt na een firmware update.
Niet onterecht natuurlijk want je kan zo veel foefelen, als mensen dan komen klagen "het werkt niet" door hun eigen fout...
De link heb ik inmiddels gemaakt, ik had zoal het vermoeden.
Of je telnet nog kan activeren via de telefoon dat betwijfel ik, maar ik weet gelukkig hoe dat gestart kan worden.
Een hele hoop BLOB's maar de textfiles zijn wel interessant
Code: Selecteer alles
#never uncomment the telnetd lines unless you know what you do
#start telnetd
echo '/usr/sbin/telnetd -l /sbin/ar7login' > /var/flash/debug.cfg
Re: Vraagje voor de Linux-kenners
Geplaatst: 03 feb 2016, 21:13
door xming
telnet daemon nooit activeren behalve om initiële toegang te verkrijgen, eens je toegang hebt en sshd hebt zet telnetd aub onmiddellijk af.
Zoals Mathy zei, busybox maakt gebruik van argv[0] zodoende door middel van een symlink (hard of soft) of copy dat je verschillende functionaliteiten verkrijgt op voorwaarde dat die ingebakken zijn tijdens de compilatie, dit is een manier om disk space te sparen.
Re: Vraagje voor de Linux-kenners
Geplaatst: 03 feb 2016, 21:24
door honda4life
Volledig met eens dat ssh beter is, maar gezien het beperkte vrije flashgeheugen denk ik niet dat dat een optie is.
Deze poort staat uiteraard niet open naar de buitenwereld toe.
Re: Vraagje voor de Linux-kenners
Geplaatst: 03 feb 2016, 21:48
door xming
ik heb een 7360 v1 hier met freetz erop, een hoop onnodige zaken eruit gegooid en er is genoeg plaats voor sshd (dropbear).
Re: Vraagje voor de Linux-kenners
Geplaatst: 03 feb 2016, 21:54
door honda4life
Moet ik nog eens in detail bekijken.
Fritzbox doet wat hij moet doen, heb een Raspberry Pi draaien waar de rest op loopt.
Re: Vraagje voor de Linux-kenners
Geplaatst: 04 feb 2016, 08:40
door GuntherDW
Ook een kleine nota, als ze hun toolchain e.d. nog niet hebben aangepast that is.
Maar een fritzbox draait niet op Linux. Deze draaien op FreeBSD.
In simpele termen lijkt het op linux, maar is het helemaal geen Linux.
Dit vertaalt zich dan in kleine dingen die anders zijn dan je zou verwachten als je van die "kant en klare" linux tutorials zou volgen.
Re: Vraagje voor de Linux-kenners
Geplaatst: 04 feb 2016, 08:59
door xming
GuntherDW schreef:Ook een kleine nota, als ze hun toolchain e.d. nog niet hebben aangepast that is.
Maar een fritzbox draait niet op Linux. Deze draaien op FreeBSD.
In simpele termen lijkt het op linux, maar is het helemaal geen Linux.
Dit vertaalt zich dan in kleine dingen die anders zijn dan je zou verwachten als je van die "kant en klare" linux tutorials zou volgen.
LOL
Dan is het wel een heeeel bizarre BSD, die zich overal als Linux voordoet en een Linux toolchain gebruikt
$ ./freetz-trunk/toolchain/target/mips-linux-uclibc/bin/gcc -v
Using built-in specs.
COLLECT_GCC=./freetz-trunk/toolchain/target/mips-linux-uclibc/bin/gcc
Target: mips-linux-uclibc
Configured with: /home/gene/freetz/freetz-trunk-dev/source/toolchain-mips_gcc-4.6.4_uClibc-0.9.32.1/gcc-4.6.4/configure --prefix=/home/gene/freetz/freetz-trunk-dev/toolchain/build/mips_gcc-4.6.4_uClibc-0.9.32.1/mips-linux-uclibc --with-sysroot=/home/gene/freetz/freetz-trunk-dev/toolchain/build/mips_gcc-4.6.4_uClibc-0.9.32.1/mips-linux-uclibc/usr/ --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --target=mips-linux-uclibc --enable-languages=c,c++ --enable-shared --enable-threads --with-gmp=/home/gene/freetz/freetz-trunk-dev/tools/build --with-mpfr=/home/gene/freetz/freetz-trunk-dev/tools/build --with-mpc=/home/gene/freetz/freetz-trunk-dev/tools/build --with-gnu-ld --disable-__cxa_atexit --disable-libgomp --disable-libmudflap --disable-multilib --disable-tls --disable-fixed-point --with-float=soft --enable-cxx-flags=-msoft-float --disable-libssp --with-march=24kc --disable-nls --with-mips-plt --disable-decimal-float
Thread model: posix
gcc version 4.6.4 (GCC)
root@fritz:/var/mod/root# uname -a
Linux fritz.fonwlan.box 2.6.32.60 #1 SMP Tue Apr 15 16:18:58 CEST 2014 mips GNU/Linux
Re: Vraagje voor de Linux-kenners
Geplaatst: 04 feb 2016, 12:10
door GuntherDW
freetz is niet de standaard firmware he

.
Alsnog, ik zei "als ze hun toolchain nog niet aangepast hebben" that is, dwz dat het dus mogelijk is dat het al aangepast was...
EDIT: heb ook even de wikipedia bekeken, en wat rond gegoogled. Hmm. Dacht altijd dat ze een FreeBSD derivate draaiden, raar. Waar heb ik dat van mee gekregen dan...
Color me wrong dus

.
Re: Vraagje voor de Linux-kenners
Geplaatst: 04 feb 2016, 14:32
door xming
freetz is niet de standaard firmware, maar freetz is ook niet een volledige andere OS. Freetz gebruikt nl. ook de vdsl kernel module van AVM, een cross architectuur/platform kernel module is niet vanzelf sprekend.
Je verwarring komt waarschijnlijk door dat AVM/Freetz geen glibc based is, maar uclibc.
Re: Vraagje voor de Linux-kenners
Geplaatst: 11 feb 2016, 23:23
door Sub Zero
Ik denk dat de 0 bytes komt van het feit dat ze een hard symlink gebruikt hebben ipv een softlink. Je moet maar eens googlen naar het verschil.