Script aus FHEM heraus aufrufen -> Permission denied für einzelne Befehle

1,144 views
Skip to first unread message

Jörg71

unread,
Jan 12, 2011, 5:10:28 AM1/12/11
to FHEM users
Hallo!

Bei mir läuft FHEM auf einem zur Fritzbox 7270 gefritzten Speedport
W920V.
Jetzt möchte ich die Telefone aus FHEM heraus kurz klingeln lassen.
Dafür habe ich mir ein Script geschrieben, was aus dem Terminal (der
Box)
heraus auch funktioniert.

Wenn ich es aber aus FHEM heraus aufrufe, habe ich folgendes im log:

/var/usr/fhem/klingel.sh: line 2: nc: Permission denied
/var/usr/fhem/klingel.sh: line 3: sleep: Permission denied
/var/usr/fhem/klingel.sh: line 4: nc: Permission denied

Das Script wird also gestartet, aber einzelne Befehle nicht
ausgeführt,
wohl weil dafür die Rechte fehlen. Parameter werden übrigens keine
übergeben. Mir ist schon klar, dass das Problem eher bei der Fritzbox
liegt, aber vielleicht weiß ja jemand hier eine Lösung.

Tschüs,

Jörg

Rudolf Koenig

unread,
Jan 12, 2011, 5:19:14 AM1/12/11
to fhem-...@googlegroups.com
Hallo Joerg,

vielleicht packst Du in klingel.sh noch ein "id -a", um rauszufinden als
welcher Benutzer Du es ausfuehrst. Und dann am besten als dieser User ein shell
oeffnen, und die kommandos (nc, sleep) einzeln ausfuehren

> Bei mir l�uft FHEM auf einem zur Fritzbox 7270 gefritzten Speedport
> W920V.

Kannst Du uns sagen wie Du das hingekriegt hast? Meines Wissens nach hat man
mit einem aktuellen 7270 Firmware probleme, da man perl nicht richtig starten
kann...

Gruss,
Rudi

Message has been deleted
Message has been deleted

Jörg71

unread,
Jan 17, 2011, 12:31:38 PM1/17/11
to FHEM users
(Ursprünglichen Beitrag gelöscht und aktualisiert)

> Kannst Du uns sagen wie Du das hingekriegt hast? Meines Wissens nach hat man
> mit einem aktuellen 7270 Firmware probleme, da man perl nicht richtig starten
> kann...

Tja, in diesem Thema:
https://groups.google.com/group/fhem-users/browse_thread/thread/7e6f2...
hatte ich halt irrgendwie zufällig herausgefunden, das wohl die Datei
libc.so.0 nicht in der richtigen Version vorhanden war. Mit ihr im
Verzeichnis /var/usr/lib lief das Script dann durch.
So richtig behoben habe ich das Problem allerdings wohl auch nicht,
weil ich es einfach nicht hinbekommen habe, den CUN über USB zum
laufen zu bringen, vermutlich habe ich das IO-Problem wohl nur
abgewürgt. Über LAN funktioniert der CUN zum Glück aber!
Die Firmware auf der Box ist auch nicht gerade die neuste,
(NAS Labor-Version 54.04.80-16540) also ist nicht gesagt, das es
mit einer neueren auch noch laufen würde, aber ich habe eben
auch schon einiges auf der Box eingerichtet und deswegen auch nicht
so das Interesse, da wieder alles neu zu machen...

An diesem Wochenende habe ich jetzt die neue FHEM 5.0 in das
7270-Paket von Volker eingebaut und es lauft ohne weitere Änderungen.

Den Befehl id kennt meine Box wohl nicht und welche User
es überhaupt gibt, geschweige denn wie man sich als ein
bestimmter solcher anmelden kann, weiss ich auch nicht...

Tschüs,

Jörg

eppi

unread,
Jan 19, 2011, 2:26:11 AM1/19/11
to FHEM users
Hallo Jörg
Ich benutze auch die Dial Funktion meiner Fritzbox aus FHEM heraus,
welcher bei mir auf einem Dockstar läuft. Mein Beispiel sollte auch
funktionieren, wenn FHEM auf der Fritzbox läuft.

Probier mal folgendes:

Erstelle eine Shell Datei mit folgendem Inhalt und versehe diese mit
den erforderlichen Rechten:

(
sleep 2
echo "root"
sleep 5
echo "password"
sleep 2
echo "echo ATP1 | nc 127.0.0.1 1011"
sleep 2
echo "echo ATD*121#079xxxxx | nc 127.0.0.1 1011"
sleep 15
echo "echo ATH | nc 127.0.0.1 1011"
sleep 10
)|telnet localhost 23

Ersetze in diesem Script "password" durch dein Passwort und
"079xxxxxx" durch die Nummer die du anklinkeln lassen willst. In
meinen Fall klingle ich mein Mobile an. Wichtig ist, dass auf deiner
Fritzbox der Telnet Dienst aktiviert ist.
Viel Erfolg!
Gruss Dani

Jörg71

unread,
Jan 21, 2011, 9:03:10 AM1/21/11
to FHEM users
Hallo Dani!

Danke für den Tip, zwar geht es über telnet auch nicht, weil
es auf der fritzbox keinen TelnetCLIENT gibt...

Dadurch habe ich aber nach einem solchen gesucht, und bin
auf diese Seite gestossen:

http://radislav.dyndns.org/index.php?site=Fritzbox/Modification/busybox.php

Dort gibt es eine erweiterte busybox, die auch telnet enthält. Zwar
habe ich es nicht hinbekommen, sie so auf der box zu installieren, daß
sie immer läuft und dann auch von fhem/perl aus benutzt wird und auch
bei dem Aufruf des Scripts mit "busybox sh klingel.sh" wurde immer
"permission denied", aber jetzt habe ich die neue busybox im gleichen
Verzeichnis wie das Skript und rufe von dort aus alle Befehle einzeln
mit "busybox echo...", "busybox sleep 5" usw. auf und dann
funktioniert
es!
Seltsamerweise wird also die neue busybox erlaubt und diese kann
dann die gewünschten Befehle ausführen.

Tschüs,

Jörg
Reply all
Reply to author
Forward
0 new messages