10 - Feb. 2010 - Die (Hinter-) Tür in das LS Pro System
Diese Seite basiert auf der Firmware der Pro version 1.15
Auf der Einstiegsseite haben Sie gesehen, wie einfach man sich einen Zugang zum Linux-System einrichten kann, einen "root- Zugang" über Telnet ohne Passwort.
Genauer und ausführlich beschrieben steht es auf der LS Seite III = Sicherheit.
12 - meine neuen Voraussetzungen für diese Konfiguration:
Wenn Sie mit der LS live mehr machen wollen als normal, dann brauchen Sie die "Optware" und vielleicht weitere System-Utilities. Diese Optware (und die anderen Programme) wird aber per "mount" (ähnlich einem sym-link) auf der eigentlichen Daten-Partition installiert, weil es die 500MB Linux Root-Partition sprengen könnte und man die Füllmenge nicht abschätzen kann.
Das gefällt mir aber nicht, denn ich ziehe immer (nur zwei) Ghost32 Images runter und dupliziere die auf ganz neue leere 1 Terabyte und mehr Platten. Diese fabrikneuen Platten partitioniere ich mit Linux-gpartedit (0.4.3) bewußt großzügig wie in dieser Liste:
-
- sda1 ext3 = 300MB primary partition (die swap Partition fürs root system)
- sda2 exfs oder ext3 = 1 Giga - hier noch eine 2. primary Partition (meine root partition)
- sda3 = extended
- sda5 xfs = 250MB
- sda6 xfs = der gesamte Rest der Platte (das ist die eigentliche Daten-Partition)
-
Auf die ersten beiden Partitionen schreibe ich mit Ghost32 entweder das original Buffalo Image drauf oder meine vorbereiteten Images.
20 - die Grundkonfiguration der LS live per http
Die LinkStation hat sich per default mit dhcp eine IP Nummer aus Ihrem Netzwerk geholt, sofern dort ein DHCP- Server läuft. Das setze ich mal voraus.
Mit dem angry IP Scanner (angry ipscan 2.1) können Sie jetzt Ihr Netzwerk befragen, welche Nummer neu dazu gekommen ist. Die tippen Sie in ein neues Browserfenster ein und kommen auf die Loginmaske der Buffalo Admin Software. Lesen Sie im Handbuch nach, wie Sie eine feste IP Nummer vergeben, DHCP abschalten, ein Gateway nach draußen eintragen und auch einen Windows Gruppennamen vergeben (bei uns "NAS-Server"). Auch kann die LS einen eindeutigen Netzwerknamen bekommen. Wichtig sind IP Nummer, Netzmaske und Gateway nach draußen !!
30 - Zum Arbeiten unter Linux brauchen wir den Editor "joe" und den "Midnight-Commander"
Hatten wir früher erst mal mit "joe" und "wget" angefangen, machen wir uns das Leben jetzt einfacher. Der "mc" hat auch einen brauchbaren Editor. Also starten wir mit putty im telnet Modus. Ssh wird später fest eingebunden.
Temporär brauchen wir auf jeden Fall die ssh-shell, damit wir mit dem winscp arbeiten und kopieren können.
Wenn also mit dem Java Script acp_commander.jar die Telnet-Hinter-Tür geöffnet wurde, kann man mit dem putty als user root auf die Linux Konsole drauf.
-
- sofort ein password vergeben - das ist dann resident
- und hiermit wird die std Terminal-Emulation geladen: export TERM=xterm - das ist nur temporär !!!
- und hiermit wird die ssh shell geladen: /usr/local/sbin/sshd - das ist nur temporär !!!
- mit dem browser die Datei "lspro-bootstrap_1.2-5_arm.xsh" (217 KB) im internet herunter laden
- mit dem Winscp diese eine Datei auf die LinkStation in /home kopieren
-
40 - Und jetzt installieren wir zuerst das Installations-Tool "ipkg"
und das steckt in dem Script, den wir uns vorher herunter geladen hatten. Das ginge zwar auch auf der LS mit wget, doch wget ist noch nicht dabei !! Hier findet man das.
ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/lspro-bootstrap_1.2-5_arm.xsh
Im putty Fenster vom Verzeichnis root in /home verzweigen und im Verzeichnis /home dieses Script aufrufen : "sh -v -x lspro-bootstrap_1.2-5_arm.xsh" die Protokollausgabe am Bildschirm muß am Ende so aussehen
...........
Installing wget...
Installing wget (1.11.4-1) to root...
Configuring wget
Successfully terminated.
Creating /opt/etc/ipkg/cross-feed.conf...
Setup complete.
+ cd ..
+ rm -r bootstrap
exec /bin/sh --login
+ exec /bin/sh --login
[NAS-Serv- root]
Jetzt ist also wget und ipkg verfügbar. - Bis hierher brauchen wir immer noch kein "reboot" !!
50 - Editor "joe" und "mc" online installieren mit ipkg
cd / bringt uns zurück ins root Verzeichnis und der Aufruf von "ipkg" ohne Optionen muss den ganzen Hilftext am Bildschirm anzeigen. Und jetzt gehts los:
Die letzte aktuelle Programmtabelle aus dem Internet laden:
[NAS-Serv- root] / $ ipkg update
Downloading ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/Packages.gz
Inflating ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/Packages.gz
Updated list of available packages in /opt/lib/ipkg/lists/cross
Successfully terminated.
den "mc" (unser wichtigstes Grundwerkzeug) installieren:
[NAS-Serv- root] / $ ipkg install mc
Installing mc (4.7.0.2-1) to root...
Downloading ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/mc_4.7.0.2-1_arm.ipk
package slang suggests installing pcre
package slang suggests installing libpng
Installing glib (2.20.4-1) to root...
Downloading ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/glib_2.20.4-1_arm.ipk
Installing slang (2.2.2-1) to root...
Downloading ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/slang_2.2.2-1_arm.ipk
Installing e2fslibs (1.40.3-5) to root...
Downloading ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/e2fslibs_1.40.3-5_arm.ipk
Configuring e2fslibs
Configuring glib
Configuring mc
Configuring slang
Successfully terminated.
[NAS-Serv- root] / $
den Editor "joe" installieren
[NAS-Serv- root] / $ ipkg install joe
Installing joe (3.6-1) to root...
Downloading ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/joe_3.6-1_arm.ipk
Installing ncurses (5.7-1) to root...
Downloading ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/ncurses_5.7-1_arm.ipk
Installing termcap (1.3.1-2) to root...
Downloading ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/termcap_1.3.1-2_arm.ipk
Configuring joe
Configuring ncurses
update-alternatives: Linking //opt/bin/clear to /opt/bin/ncurses-clear
Configuring termcap
Successfully terminated.
[NAS-Serv- root] / $
und nocheinmal zur Sicherheit !!! (das stand schon weiter oben !!)
die "putty" !!! Terminal Emulation temporär korrigiert mit
export TERM=xterm
Jetzt vergrößern wir das "putty" Fenster auf die volle Bildschirmgröße und mit
mc -a
bekommen wir den leuchtblauen Midnight Commander in voller Größe mit 2 gleich großen Fensterhälften zu sehen und alle F-Tasten funktionieren super.
Auch jetzt hier immer noch kein reboot !!!
54 - ich brauche NFS
April 2011 - Offensichtlich hat die LS Live dieses Protokoll nicht mehr. Laut einem Forum solle man "unfs3" und "portmap" installieren.
Ohne Rücksicht auf Sicherheitslücken (diese LS läuft nur hinter dem DSL Router - mit NAT ) mache ich das mal:
ipkg install portmap
und
ipkg install unfs3
und
ipkg install nfs-utils
To complete the installation, you must edit /opt/etc/exports,
and then run /opt/etc/init.d/S56nfs-utils to start the nfs server.
Jetzt muss ich es nur noch prüfen ??????
Man sollte die Unix Dienste für Windows installieren. Das sind aber 200 MB. Leider keine Zeit dafür.
60 - Finetuning und Konfiguration
Sowohl ssh wie auch die Terminal Emulation sind noch temporär von Hand aufgerufen nur im RAM !! Diese beiden Eigenschaften gehen bei einem vorzeigen Neustart natürlich verloren !! Diese und auch andere Informationen sollten jetzt resident eingetragen werden.
70 - wichtige Start Optionen und den Linux Promt ergänzen:
Es gibt 3 (oder sogar mehr) Dateien, die Sie anfassen/editieren müssen:
-
- nach /etc wechseln mit "joe profile" dort unterhalb von "export PATH HOSTNAME" die Environment Variable "export TERM=xterm" (und somit resident) ins Profile einfügen und abspeichern.
- weiterhin folgende Zeilen einfügen oder ergänzen:
if [ "$BASH" ]; then
PS1="\[\e[0;32m\][NAS-Serv-xyz- \u] \w \$ "
else
PS1="\[\e[0;32m\][NNAS-Serv-xyz- \u] \w \$ "
fi
und abspeichern !! - dann nach /etc/init.d wechseln und mit "joe rcS" in der Datei "rcS" direkt unter der auskommentierten!!! telnet - Zeile "/usr/local/sbin/sshd" (resident) einfügen und speichern.
Jetzt wird die LS beim Booten gleich mit SSH hochkommen. - und in /etc/ die Datei "issue" mit der Logon Message Ihrer Wahl verbessern
- theoretisch können Sie jetzt einen Neustart wagen - "reboot".
-
74 - der Funktionstest der Änderungen : reboot
Bis hierher sind die wichtigen Änderungen resident in den Linux- Start-Scripten eingetragen. Jetzt setzen Sie auf der Kommandozeile ein "reboot" ab und warten, bis die LS den Warmstart durchgeführt hat. Die Power LED hört auf, rythmisch zu blinken und leuchtet wieder resident. Das Login als root mit Putty jetzt !!! im ssh Modus !!! muss jetzt funktionieren.
80 - "nice to have" = der Performance Monitor "htop"
[NAS-Serv- root] / $ ipkg install htop
Installing htop (0.8.3-1) to root...
Downloading ipkg.nslu2-linux.org/feeds/optware/cs05q3armel/cross/stable/htop_0.8.3-1_arm.ipk
Configuring htop
Successfully terminated.
[NAS-Serv- root] / $
90 - Struktur-Optimierung - den Linux root Bereich wieder zusammenfassen
Und hier müssten wir von Hand eingreifen, sonst kann es später mal richtig Stress geben.
Das lspro-bootstrap_1.2-5_arm.xsh Script hatte nämlich auf der eigentlichen 990 Giga Datenpartition in "/mnt/disk1/" ein (unsichtbares, leicht grau unterlegtes) Verzeichnis ".optware" erstellt und dort ca. 20 MB rein kopiert. Dazu wurde "/mnt/disk1/.optware" auf das originäre Verzeichnis "/opt" gemounted und der ürsprüngliche Inhalt von "/opt" versteckt. Alle weiteren mit ipkg installierten Programme wie der "mc" würden später auch dorthin ("/mnt/disk1/.optware") installiert.
Doch diese /disk1 (also die ganz große XFS Partition mit ftp und smb Zugriff) könnte man (irrtümlich ?) komplett per Webinterface formatieren. Fatal, denn man sieht dieses Verzeichnis nur auf Systemebene als linux user "root" später im "mc" oder gleich im "winscp". Und dann wären die ganzen installierten Optware-Programme weg. Das ist für die LS live (und unsere Nutzung) sehr unglücklich gelöst.
91 - was muss wie gemacht werden ?
-
- Mit dem "mc" legen wir im "/" ein Verzeichnis an "/optware-kopie" und kopieren aus "/mnt/disk1/.optware" alles komplett in "/optware-kopie". Der "mc" kopiert nämlich alle bisherigen Datei und Verzeichnis-Rechte und sonstige Eigenschaften mit !!!
- Zuerst setzen wir den Befehl "umount opt" (unser testserver: [NAS-Serv- root] / $ umount opt) ab, nehmen also den überlagerten Verweis (ähnlich eines symlinks wieder weg) und entsperren so das originäre "/opt" wieder.
Das geht aber nicht, wenn der "mc" oder ein anderes Programm (z.B. in einer zweiten putty Instanz) noch geladen ist, weil dieses ja aus dem gemounteten ".optware" heraus aufgerufen wurde. Es darf also keine Fehler geben (z.B. device busy), außer daß "ipkg" und "mc" nicht mehr verfügbar sind.
Wir testen die verbliebenen Mountpoints mit "mount". Der Verweis auf /opt darf jetzt nicht mehr erscheinen. - Nun brauchen wir das (externe) Windows Programm winscp. Wir öffnen winscp zwei !! mal nebeneinander. Winscp (Version 4.18 neben putty 0.6) ist ein ganz wichtiges Werkzeug zum Prüfen. Man sieht alles und man kann jetzt eingreifen. Wie gesagt, nach dem umount geht keines unserer "optware" Linux Tools mehr !!
- Im winscp aktivieren wir über "Einstellungen" und "Drag&Drop" das Verschieben von Verzeichnissen zweier Remote Filesysteme unter Benutzung eines temporären Verzeichnisses (auf der lokalen Windows-Platte). Damit können wir jetzt aus "/mnt/disk1/.optware" alle Unterverzeichnisse auf den gleichen Server !!! in /opt rüber kopieren.
Also jedes Verzeichnis einzeln mit der Maus aus (winscp-Fenster1) ./optware in (winscp-Fenster2) /opt ziehen ! So geht es bei mir jedenfalls.
-
92 - unbedingt überprüfen
-
- In "/opt/bin" vergeben wir (nur) dem Programm "mc" ein X bei Owner. Das geht mit dem winscp (über rechte maustatse und Eigenschaften) genial einfach. Und damit ist der "mc" ab sofort wieder ausführbar. Denn nur der kann die geretteten Verzeichnisse mit Original-Optionen kopieren.
- Jetzt können wir wieder den "mc -a" aufrufen und aus "/optware-kopie" alles in "/opt" rüber kopieren. Auch da ist wieder ein Trick angesagt:
Wenn der "mc" erst mal geladen ist, kann man im rechten Fenster die Unterverzeichnisse in /opt komplett löschen und aus dem linken Fenster die Unterverzeichnisse aus "/optware-kopie" in einem Schwung mit F5 (nicht F6) rüber kopieren mit alle Rechten und Optionen. (Wir sind ja user root, also Eigentümer).
Alle optware Tools müssten jetzt wieder funktionieren. Einfachmal "htop" oder wget oder ipkg aufrufen. - Hier gehts weiter !!! Wichtig : den Init-Bereich bereinigen.
Jetzt darf in "/etc/init.d" kein "rc.optware" liegen. Ist da Eines, muß es gelöscht oder umbenannt und nicht ausführbar gemacht werden. Auch dort in "rcS" muß ganz unten die Zeile mit "rc.optware" auskommentiert oder komplett gelöscht werden. - In /mnt/disk1 kann jetzt ./optware auch gelöscht werden, wie haben ja noch die Orginal-Kopie aufgehoben.
- Jetzt wieder mit putty ein "reboot" absetzen.
- Wenn die LS wieder gestartet ist, darf in "/mnt/disk1" immer noch kein (bzw. kein neues) ".optware" Verzeichnis mehr auftauchen. Ist da wieder eines, hat etwas nicht funktioniert. Sie müssen suchen und reparieren.
-