Fritz: debug.cfg
Version vom 19. März 2010, 09:19 Uhr von Dario (Diskussion | Beiträge)
### ### Darios Fritzbox Config ### ### ### cp_from_usb $1 $2 $3 ### $1 = sourcefile ### $2 = destinationdir ### $3 = rights ### copies file from USB Stick (/fritzbox)) to destination dir and set rights ### cp_from_usb() { thisfile=$1 targetdir=$2 rights=$3 if [ -f $sourcedir/$thisfile ] then echo "DEBUG.CFG: cp $sourcedir/$thisfile to $targetdir/$thisfile" cp $sourcedir/$thisfile $targetdir/$thisfile echo "DEBUG.CFG: chmod $rights $targetdir/$thisfile" chmod $rights $targetdir/$thisfile fi } ### ### start telnet deamon with password of web gui ### echo "DEBUG.CFG: start telnet deamon" /usr/sbin/telnetd -l /sbin/ar7login ### ### set hostname to fritz.box ### echo "DEBUG.CFG: set hostname to fritz.box" hostname fritz.box # wait for USB to be mounted echo "DEBUG.CFG: wait 30s ..." sleep 10 echo "DEBUG.CFG: wait 20s ..." sleep 10 echo "DEBUG.CFG: wait 10s ..." sleep 5 echo "DEBUG.CFG: wait 5s ..." sleep 2 echo "DEBUG.CFG: wait 3s ..." sleep 1 echo "DEBUG.CFG: wait 2s ..." sleep 1 echo "DEBUG.CFG: wait 1s ..." sleep 1 ### ### start ssh deamon ### echo "DEBUG.CFG: ************************************" echo "DEBUG.CFG: *** starting dropbear SSH deamon ***" echo "DEBUG.CFG: ************************************" cd /var/tmp mkdir /var/tmp/root/ mkdir /var/tmp/root/.ssh # password # Set password is to an unknown value, # thus only login with keyfile is possible PASSWD='$1$rUr3ypnu$s8xnBdUV9/_somevalue_.' # load files from usb stick echo "DEBUG.CFG: loading ssh-binaries from usb stick" for f in /var/media/ftp/* do sourcedir=${f}/fritzbox # dropbear cp_from_usb dropbear /var/tmp +x # busybox cp_from_usb busybox /var/tmp +x # dropbear_dss_host_key cp_from_usb dropbear_dss_host_key /var/tmp 700 # dropbear_rsa_host_key cp_from_usb dropbear_rsa_host_key /var/tmp 700 # /var/tmp/root/.ssh/authorized_keys cp_from_usb authorized_keys /var/tmp/root/.ssh 700 # calllog # the calllog script sends an email at every incoming call cp_from_usb calllog /var +x done # set busybox var echo "DEBUG.CFG: set busybox var" BUSYBOX="/var/tmp/busybox" # change root password echo "DEBUG.CFG: change ssh root password" ${BUSYBOX} sed -e "/root:/s#^root:[^:]*:#root:${PASSWD}:#" -i /var/tmp/shadow # set $HOME for root to /var/tmp/root/ echo "DEBUG.CFG: set HOME for root to /var/tmp/root" echo "root:x:0:0:root:/var/tmp/root/:/bin/sh" > /var/tmp/passwd # set set path to SCP root echo "DEBUG.CFG: set path to SCP" echo "export PATH=$PATH:/var/tmp " > /var/tmp/root/.profile # create symlink for /var/tmp/dropbearkey and /var/tmp/scp echo "DEBUG.CFG: create symlink for dropbearkey and scp" ln -s /var/tmp/dropbear dropbearkey ln -s /var/tmp/dropbear scp # start dropbear echo "DEBUG.CFG: wait 5s ..." sleep 5 echo "DEBUG.CFG: start ssh deamon on port 22" /var/tmp/dropbear -p 22 -r /var/tmp/dropbear_rsa_host_key -d /var/tmp/dropbear_dss_host_key ### ### delete warnings for non authorized firmware :-) ### echo "DEBUG.CFG: ******************************************************" echo "DEBUG.CFG: *** deleting warnings for non authorized firmware ***" echo "DEBUG.CFG: ******************************************************" dst=/var/tmp/signed_firmware src=/usr/www/html/html/de/home mkdir -pm 777 $dst for file in home.js konfig.js; do if [ -f $src/$file ]; then sed -e 's,.*var signed =.*,var signed = "1",' $src/$file > $dst/$file mount -o bind $dst/$file $src/$file fi done ### end of debug.cfg