# [I]speichern, wo die Seiten eigentlich liegen[/I]
export HTMLZIEL=`ls -l /var/html | sed "s/^.*> //"`
# [I]Seiten "löschen"[/I]
rm /var/html
# jetzt was auch immer tun, am Ende:
ln -s $HTMLZIEL /var/html
# speichern, wo die Seiten eigentlich liegen
export HTMLZIEL=`ls -l /var/html | sed "s/^.*> //"`
# Seiten "löschen"
rm /var/html
# wiederherstellen
ln -s $HTMLZIEL /var/html
ls -l /var/html
#!/bin/sh
start () {
# Seiten "löschen"
rm /var/html
}
stop () {
# wiederherstellen
ln -s /usr/www/1und1 /var/html
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo $"Usage: $prog {start|stop}"
exit 1
esac
/etc/init.d/rc.webcfg start
/etc/init.d/rc.webcfg stop
/var/tmp/flash # ./stopavmweb.sh start
./stopavmweb.sh: line 1: cannot open !DOCTYPE: no such file
./stopavmweb.sh: line 1: html: not found
./stopavmweb.sh: line 2: cannot open html: no such file
./stopavmweb.sh: line 3: cannot open head: no such file
./stopavmweb.sh: line 4: cannot open title: no such file
./stopavmweb.sh: line 4: -: not found
./stopavmweb.sh: line 5: cannot open meta: no such file
./stopavmweb.sh: line 5: http-equiv=Content-Type: not found
./stopavmweb.sh: line 6: cannot open meta: no such file
./stopavmweb.sh: line 6: http-equiv=pragma: not found
./stopavmweb.sh: line 7: cannot open meta: no such file
./stopavmweb.sh: line 8: cannot open meta: no such file
./stopavmweb.sh: line 9: cannot open meta: no such file
./stopavmweb.sh: line 10: cannot open meta: no such file
: not foundb.sh: line 11:
./stopavmweb.sh: line 12: cannot open style: no such file
: not foundb.sh: line 13:
./stopavmweb.sh: line 14: td: not found
./stopavmweb.sh: line 14: }body: not found
./stopavmweb.sh: line 15: syntax error: "(" unexpected
/var/tmp/flash #
cat > /var/tmp/stopavmweb.sh << 'EOF'
#!/bin/sh
start () {
# Sicherheitsabfrage: Ist das ein Link
if [ `find /var -type l | grep /var/html` ]; then
# Html-Pfad wegsichern
ls -l /var/html | sed "s/^.*> //" > /var/tmp/.stopavmweb.out
# Seiten "löschen"
rm /var/html
else
echo "Hmm, /var/html ist kein Link? Gebe auf"
exit
fi
}
stop () {
# Sicherheitsabfrage
if [ -r /var/tmp/.stopavmweb.out ]; then
# wiederherstellen
ln -s `cat /var/tmp/.stopavmweb.out` /var/html
# Pfad-Datei loeschen
rm /var/tmp/.stopavmweb.out
else
echo "Datei mit HTML-Pfad nicht gefunden! Gebe auf"
exit
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
*)
echo $"Usage: $prog {start|stop}"
exit 1
esac
EOF
chmod +x /var/tmp/stopavmweb.sh
multid
und nicht für den ctlmgr
. Dabei wird über ein DSO (eine Library) per "Pre-loading" der entsprechende Socket-Call (üblicherweise ein bind()
- https://man7.org/linux/man-pages/man2/bind.2.html - wobei man das noch einmal prüfen sollte, denn der ctlmgr
ist eben "closed-source") abgefangen (wenn bereits eine Library geladen ist, die eine (vermeintlich) passende Funktion enthält, wird deren Adresse beim dynamischen Laden verwendet) und die Portnummer geändert. Wie das aussehen könnte, kann man sich bei Freetz in der libmultid
ansehen: https://github.com/Freetz/freetz/tree/master/make/libs/libmultidar7.cfg
die entsprechenden Einstellungen zu ändern - ob die berücksichtigt werden, kriegt man ja nun ganz schnell raus. Nur beim Editieren muß man dann eben die richtigen/notwendigen Vorkehrungen treffen (hier im Board auch zig-mal beschrieben), damit man auch wirklich die Einstellungen testet und nicht irgendeinen anderen Mist./var/flash/ar7.cfg
festgelegt. Ein Umbiegen, z.B. auf Port 82, müsste so funktionieren:ctlmgr -s # Dienst stoppen
cat /var/flash/ar7.cfg | sed 's/port = "80";/port = "82";/' > /var/tmp/ar7.cfg.82 # ar7.cfg "editieren"
cat /var/tmp/ar7.cfg.82 /var/flash/ar7.cfg && rm /var/tmp/ar7.cfg.82 # ar7.cfg zurückschreiben
cat /var/tmp/ar7.cfg.82 > /var/flash/ar7.cfg && rm /var/tmp/ar7.cfg.82 # ar7.cfg zurückschreiben
ctlmgr # Dienst starten
cat /var/tmp/ar7.cfg.82 /var/flash/ar7.cfg && rm /var/tmp/ar7.cfg.82
ar7.cfg
mit minimalen Unterschieden, die in der Console angezeigt werden, bewirkt das gar nichts - nein, stimmt nicht ... die Kopie mit dem geänderten Port wird tatsächlich auch gelöscht, weil das cat
ohne Fehler durchläuft.Ich habe mal die Ausführungen meines Lese-Tipps (bei einer 7590 FW 7.27 mit Freetz-NG) aus Interesse mal nachvollzogen, also:Bezüglich Port 443 habe ich nur einen Lese-Tipp parat.
ctlmgr -s # Dienst stoppen
nvi /var/flash/ar7.cfg # Einfügen von "tcp 0.0.0.0:443 0.0.0.0:943" unter voip_forwardrules
...
ctlmgr # Dienst starten
/var/flash/ar7.cfg
erhalten.)ctlmgr
ein "Freimachen" des Ports nicht feststellen.# netstat -tulpn | grep 443
tcp 0 0 :::49443 :::* LISTEN 2275/upnpd
tcp 0 0 :::443 :::* LISTEN 5608/ctlmgr