Rudi-Shell: nur eingeschränkte Funktion

ztrewq

Neuer User
Mitglied seit
21 Mrz 2007
Beiträge
9
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich habe ein kleines Problem mit Rudi-Shell: Zwar läuft die Web-Oberfläche, aber leider nur viel zu RUDImentär. Ich kann in keinen anderen Ordner wechseln (mit cd), obwohl ich mir den Inhalt anzeigen lassen kann (mit ls). Außerdem stehen nur ganz wenige Befehle zur Verfügung. Das Öffnen von Ports oder xtra Pakete wie zum Beispiel ether-wake lassen sich somit gar nicht erst nutzen. Hat jemand von euch vielleicht eine Idee voran es liegen könnte?

Vielen Dank im Voraus
 
deswegen ja rudimenätr...
für alles andere hat man doch die mega vielseitige konsole...via putty(ssh) oder telnet...wenn du willst durch screen auch ohne das du angemeldet sien musst
 
dass rudi für rudimentär steht und die Oberfläche kein ssh oder telnet ersetzt hatte ich schon verstanden. Mein Problem ist, dass ich mich im Ordner /usr/mww/cgi-bin befinde und in keinen anderen Ordner wechseln kann und z.B. kein ether-wake nutzen kann. Außerdem bekomme ich keinen Port geöffnet. Vielleicht bin ich ja nur zu dumm die Oberfläche zu benutzen, aber ich kann es mir nicht erklären, warum nichts funktioniert.
 
Nachdem das Skript ausgeführt wurde, ist der SH-Prozess auch zu Ende. Da es ein Webinterface ist, könnte man annehmen, dass ein 'cd' Befehl, gefolgt von einem 'ls' auch das ensprechende Verzeichnis zurückliefert. Dem ist aber nicht so, da es zwei getrennte SH-Prozesse sind. Um den Befehl in einem Prozess auszuführen, werden die entsprechenden Befehle durch Semikolon getrennt:
Code:
cd /;ls -la
Bei Anwendungen, die Benutzereingaben fordern, wird es etwas tricky. Da sollte man dann doch zu 'putty' greifen.
 
... und mittels & ; nohup und Klammern kann man schon einiges tun:

Dieses in der RudiShell
Code:
(cd /tmp ; echo "ich bin hier: `pwd`"  > tmp.out
nohup nc -l -l -p 4712  -e cat 2> /dev/null & 
echo "... fertig gestartet" >> tmp.out) 

cat /tmp/tmp.out

(echo "1. bla" ; sleep 1
echo "2. bla bla" ; sleep 1) | telnet localhost 4712 

ps | grep nc

ergibt diesen Output
Code:
ich bin hier: /tmp
... fertig gestartet
1. bla
2. bla bla
 1877 root       1420 S   nc -l -l -p 4712 -e cat 
 1927 root       1420 S   grep nc

Vielleicht sind das ja ein paar Anregungen...

Jörg
 
Hallo MaxMuster

du scheinst dich ja wirklich gut auszukennen mit der Fritzbox.
Ich habe folgendes Problem. Ich möchte gerne über die Rudi-Shell eine einfache NetCat geschichte ausführen.
Die Fritzbox soll einfach nur "nc IP Port" ausführen, doch leider funktioniert der befehl so nicht, habe es auch mal mit "nohup nc IP Port" probiert aber auch das will nicht so ganz. Hast du einen Tipp für mich ?

Später soll das ganze mal in der dtmfbox laufen. Habe dort auch schon mal das Problem beschrieben, aber ich nehme an das es kein Problem der dtmfbox ist sondern ein grundsätzliches. Ich nehme auch an das die Rudi-Shell und die dtmfbox gleichermaßen die Befehle ausführen, deswegen bin ich auf die Rudi-Shell ausgewichen.

link zum dtmfbox-Beitrag

Wäre cool wenn du mir einen entscheidenden Tipp geben könntest / oder auch jemand anders.

vielen Dank

Gruß
robinio_1337
 
Die Rudi-Shell ersetzt tatsächlich keine Konsole.
Insbesondere haben die gestarteten Programme keine Verbindung zu einer Konsole.
Der Befehl "nc IP Port" funktioniert vermutlich, tut aber aufgrund der oben genannten Einschränkung nicht das, ws Du erwartest.

"nohup" wurde hier nicht als magisches Allheilmittel empfohlen, sondern hat eine spezielle Bedeutung (die man in der man-Page nachlesen kann).
 
ich bin leider in der Linux welt nich so bewandert, gibts denn irgendwie eine Möglichkeit, den Befehl funktionstüchtig zu bekommen ?

schöne Grüße
robinio_1337
 
Moin,

mir fehlt die Idee, was du eigentlich damit erreichen willst?
Ein "nc IP PORT" allein mach ja wenig Sinn, wenn du da nicht mit kommunizerst...
Du musst halt entweder dem Netcat was zum caten geben ("echo bla | nc localhost 4711 ") oder halt was abholen ( mit "-l" ) .

Jörg
 
ich hab das auf der server seite so geregelt, dass er sobald die verbindung aufgebaut wird ein batch script ausführt.

wenn es eine andere möglichkeit gibt die funktioniert, dann hab ich damit auch keine probleme.
 
Das Shell von Rudi Shell ist vielleicht auch nicht der ganz exact, Remote Kommand wäre vielleicht treffender, aber ich weiß nicht, ob das Dich weiter bringt.

Entweder Du verwendest eine richtige Shell, oder Du folgst der Empfehlung von MaxMuster und schreibst wirklich, was Du erreichen willst.

Wie Du selbst geschrieben hast, weißt Du nicht genau, wie die Rudi Shell funktioniert. Es bringt daher wenig, hier nach Details zu fragen, wenn das Ganze vermutlich prinzipiell so nicht zu lösen ist.
 
okay dann beschreibe ich mal ganz genau was ich vorhabe.

ich möchte gerne per Telefon Dienste auf meinem rechner starten und stoppen.
um per telefon befehle auszuführen benutze ich die dtmfbox.

ich habe jetzt im Moment ein einfaches batch script, das mit eine txt datei erzeugt(mit datum und Uhrzeit) sobald eine netcat Verbindung zustande kommt. So dachte ich könnte ich das lösen z.b. nc IP 7642 (startet Dienst "net start Dienst") und nc IP 7643(beendet Dienst "net stop Dienst")

ich weiß aber leider auch nicht ob es bei den einzelnen Befehlen bleibt, evtl möchte ich später einmal ein ganzes script so starten. Da ich wie gesagt in Linux nicht so bewandert bin wäre es für mich natürlich besser, wenn ich dieses Script auf dem Ziel rechner einfach starten könnte. ( so wie ich das im Moment mit dem erzegen einer TXT habe)

ich hoffe die beschreibung war ausführlich, falls noch fragen sind beantworte ich diese gerne. Da es ja zur lösung meines Problems beitragen könnte.

schöne Grüße
robinio_1337
 
ich vermute eben, dass die dtmfbox und die rudi-shell gleichermaßen die befehle ausführen. .... wie ich darauf komme - weils ja per telnet funktioniert aber per dtmfbox und rudi-shell eben nicht.
Deswegen dachte ich wenns dann auf der rudi-shell funktioniert dann müsste es doch auch per dtmfbox funktionieren
 
Das hat wohl wirklich nicht wirklich was mit der RudiShell zu tun ...
Trotzdem: Was soll denn das "nc" dabei machen? Es müsste doch "was schicken" wenn es verbunden ist, denn auf eine "Eingabe warten" wie in der Shell kann es ja nicht.
Du müsstest also schon wie oben geschrieben z.B. als Befehl "echo "Anfang" | nc <IP> 7642" oder analog "echo "ENDE" | nc <IP> 7643" nutzen, oder?!?

Ansonsten: Pack dir das was du tun willst in ein Shell-Sktipt und rufe das als "Befehl" aus der dtmfbox auf.

Jörg
 
per telnet gebe ich nur "nc IP Port" ein und das wars ich übergebe nichts....

per shell script ....
ich müsste z.b. "nc IP Port" als script.sh abspeichern und dann einfach "script.sh" ausführen ?

schonmal schönen Dank für eure unterstützung
 
das mit der text datei is ja nur ein Funktionstext ich will ja am entfernten rechner Dienste/Programme starten/stoppen
 
Und wenn Du netcat aus der Rudi-Shell aufrufst, wird dann die Verbindung aufgebaut oder nicht? Evtl. netcat mit der Option -vv aufrufen, um zu sehen, wo die Probleme liegen.
 
Kostenlos!

Statistik des Forums

Themen
248,922
Beiträge
2,305,233
Mitglieder
378,646
Neuestes Mitglied
atrora