[Berlin-wireless] Verschiende OpenWRT Fragen / root-passwort
Wolfram Eifler
adagio
Mi Jul 11 15:14:42 CEST 2007
hi,
bei mir gibt es zumindest einen Node (ff 2.4.5), der ganz entschieden
der Meinung ist,
verschiedene Passworte auf web <-> ssh haben zu wollen.
Die Situation ist entstanden mit:
1. installieren, per web-frontend das web-passwort vergeben (damit
gilt es erstmal für beides)
2. ssh-login auf dem Node und auf der Kommandozeile per "passwd"
neues root-passwort setzen.
ist bei mir eher Zufall gewesen, der node funktioniert seit ca. 1
Jahr stabil und hat mehrere
ff-firmware-upgrades ohne rumzicken mitgemacht (bei welcher Version
ich mit dem Spiel angefangen habe
weiss ich leider nicht mehr).
PS: seit wann kann mir nationales Recht vorschreiben, welche
Passworte ich auf welchem
Zugangsweg vorschalte .... *staun*.
Am 08.07.2007 um 18:56 schrieb Steffen Dettmer:
>> (...)
>> 5) Wie kriegt man es hin, dass das Webfrontend nicht das root
>> password
>> verwendet?
>
> MACHT DAS NICHT. Es wird in whiterussion nicht direkt unterstützt und
> kann zu komischen Effekten führen, gegen nationales Recht
> verstossen und
> Ihr Baby verletzen.
>
> Hier bisschen ausführlicher, was man nicht machen soll:
>
> - statt "passwd -l" (Sicherheitslücke; das entfernt das Passwort,
> anstatt es zu sperren)
> $ vi /etc/passwd
> und encrypted PW string kaputt machen (z.B. Zeichen einfügen,
> dass er
> länger wird)
>
> - Encrypted PW string erzeugen
> $ httpd -m "pass"
> $1$$uqbusDeGY2YWqg.T2S1100
> (Achtung, salting scheint nicht zu funktionieren, aber egal)
> Statt pass natürlich das Passwort, z.B. "8fljA0qy", aber das wird
> dann
> eh im Klartext über HTTP übertragen ;)
>
> - $ vi /etc/httpd.conf
> alle /cgi-bin/webif Zeilen auskommentieren, dafür einfügen:
> /cgi-bin/webif:admin:$1$$uqbusDeGY2YWqg.T2S1100
> Klartextpasswort geht auch:
> /cgi-bin/webif:admin:pass
>
> - $ killall httpd
> $ /etc/init.d/S50httpd
>
> passwd -l geht nicht weil:
> /usr/lib/webif/webif.sh
> grep 'root:!' /etc/passwd
> (ich finde, dass ist ein bug, weil das passwd -l erzeugt)
>
> geht nur mit busybox httpd:
> _passwd()
> grep '^root:' /etc/passwd | cut -d: -f1,2 > $cgidir/.htpasswd
>
>
> Achtung: wenn über das webif das rootpasswort geändert wird, gibt es
> dieses rootpasswort, es gilt aber nicht fürs webif.
>
>
> chmod 0 /www/cgi-bin/webif/system-password.sh
>
> macht die Passwort-Änderungs-Seite kaputt, mit klicken geht das dann
> nicht mehr, aber wenn man sich händisch ne URL zusammenbaut geht es
> doch
> (ist also nicht sicher, sorgt nur dafür, dass es nicht aus Versehen
> passiert)
>
> Weil passwd ein link auf busybox ist, kann man das vermutlich auch
> nicht
> so einfach unbenennen, aber man kann in /usr/lib/webif/webif.sh
> die Stelle:
>
> echo '<pre>'
> (
> echo "$FORM_passwd1"
> sleep 1
> echo "$FORM_passwd2"
> ) | passwd root 2>&1 && apply_passwd
> echo '</pre>'
>
> ändern, vielleicht in
>
> echo '<pre>'
> echo 'Permission denied.'
> echo '</pre>'
>
> oder ein if drum basteln oder so, just BTW, mir reicht 404 Not Found
> nach "chmod 0" :-)
>
>> webif/system-*sh würde ich "chmod 0" disablen oder so, das
>> ist mir zu
>> mächtig und brauch ich nicht. Auf den Rest würde ich inzwischen
>> aber nicht mehr gern verzichten (ist schon schick das
>> webif! :-))
>
> chmod 0 /www/cgi-bin/webif/system-*sh
> schaltet das schon aus, aber die Meldung (HTTP 404) wird hässlich.
> Aber
> geht erstmal.
>
>> DHCP MAC Addressen würde ich ggf. gern mit dem Webfrontent
>> hinzufügen.
>> Kann man sich das syslog angucken `logread'? Finde das
>> nicht. Für meine Spezialanforderung würde ich einfach sowas wie
>> "logread|grep DHCPDISCOVER" unten in network-hosts.sh reinhacken
>> (falls ich das hinkriege ;)). Geht das besser?
>
> man kann jedenfalls in network-hosts.sh unten (vor "footer") einfügen
>
> echo 'DHCPDISCOVER<br>'
> echo '<pre>'
> logread|grep DHCPDISCOVER
> echo '</pre>'
>
> arm und billig - aber geht erstmal.
>
> Ein bisschen schöner geht's auch so:
>
> man lege sich folgende Datei an /www/cgi-bin/webif/syslog.sh:
>
> #!/usr/bin/webif-page
> <?
> . /usr/lib/webif/webif.sh
> header "Info" "Syslog" "@TR<<Syslog>>"
> ?>
>
> <pre>
> <? logread ?>
> </pre>
>
> <? footer ?>
> <!--
> ##WEBIF:name:Info:20:Syslog
> -->
>
> und hat einen sylog-Knopf.
>
> Noch schöner gehts hier:
>
> http://www.bitsum.com/xwrt/full/log_syslog.png
>
> siehe hier
>
> http://x-wrt.org
>
> dass kann scheinbar vieeeeellllllll mehr, ist aber wohl nicht fertig.
>
>> 6) Wird SSH ohne PasswordAuthentication unterstützt (und wie richte
>> ich es ein)?
>
> Da gibt es eine Kommandozeilenoption, muss man nur finden :)
>
> http://downloads.openwrt.org/people/nico/man/man8/dropbear.8.html
>
> -s
> Disable password logins.
>
> Also einfach ein "-s" hinten in /etc/init.d/S50dropbear einfügen und
> Passwort funktioniert nicht mehr.
>
>
>> 7) Wie günstig reflashen und backup restoren?
>>
>> cat bak.tar.gz | gunzip | ssh root at ikarus tar xf - -C /
>> (jedenfalls fast, praktisch leider auch nicht, siehe backup-
>> Frage-Mail).
>> Das geht sicherlich einfacher/schöner bzw. überhaupt. Hat
>> jemand Tips?
>
> Mein tar kann "-X" (exclude-from=FILE), weiss nicht, ob das default
> ist,
> damit müsste man das gebastelt kriegen.
>
> Wie es richtig geht, steht hier:
>
> http://wiki.openwrt.org/BackupAndRestore
>
> (kurz: man zieht /dev/mtdblock/4 als image nach mount -o remount,rw)
>
> oki,
>
> Steffen
>
> --
> Dieses Schreiben wurde maschinell erstellt,
> es trägt daher weder Unterschrift noch Siegel.
>
> _______________________________________________
> Berlin mailing list
> Berlin at berlin.freifunk.net
> http://lists.berlin.freifunk.net/cgi-bin/mailman/listinfo/berlin
Mehr Informationen über die Mailingliste Berlin