Hallo zusammen,
ich bin wie im Wiki https://wiki.fhem.de/wiki/Alexa-Fhem (https://wiki.fhem.de/wiki/Alexa-Fhem) beschrieben vorgegangen und habe das Problem,
dass ich beim Versuch den Key zu kreieren folgenden Fehler bekomme:
markus@Jarvis3:~/alexa/alexa-fhem$ ./createKey.sh
-bash: ./createKey.sh: Keine Berechtigung
Da im Wiki ausdrücklich steht, man solle das nicht mit sudo machen, weiß ich an dieser Stelle nicht weiter.
Der Grund für das Problem könnte sein, dass ich alexa-fhem in einem Unterverzeichnis vom home vom user markus und nicht unter opt/fhem entpackt und installiert habe.
Im Wiki steht nicht explizit, wohin man alexa-fhem kopieren soll und weil ich mit dem Linux-Rechtesystem auf Kriegsfuß stehe,
hat mich WinSCP davon abgehalten alles ins opt/fhem/alexa Verzeichnis zu kopieren.
Seufz.
Kann mir bitte einer aus diesem Schlammassel helfen?
Gruß
Markus
Hallo zusammen,
ich weiß es ist Heilig-Abend, aber diese Linux-Rechte-Paranoia treibt mich in den Wahnsinn :o
Ich versuche unter einem Ubuntu 16.04 besagtes createKey.sh Skript auszuführen und bekomme, egal was ich auch tue, immer:
Keine Berechtigung
Zur Antwort.
Verdammt, ich habe die Hardware gekauft, das OS installiert. Wenn hier irgendeiner berechtigt ist, etwas zu tun, dann bin ich das.
So etwas kostet so unendlich viel Zeit und Nerven.
Es ist mir scheißegal, ob mein System offen ist, wie ein Scheunentor.
Ich will, dass es das tut, was ich von ihm will, ohne dass es bei jedem zweiten Kommando rumzickt wie die Jungfrau vor dem ersten Mal.
Himmel Arsch und Zwirn!!!
So und jetzt allen gesegnete Weihnachten
es ist keine rechte paranoia. sondern ein sinnvolles und funktionierendes konzept das sehr gut funktioniert wenn man verstanden hat wie es arbeitet.
kann es sein das du das tgz file unter windows ausgepackt hast? -> dann fehlt das recht zum ausführen des files. -> chmod +x ./createKey.sh
in welchem verzeichnis das ganze liegt ist egal so lange du die rechte an dem verzeichnis hast. das sollte der fall sein wenn du es selber ausgepackt hast.
zeig mal die ausgabe von ls -la .
wenn du in dem verzeichniss stehst.
edit: grad gesehen das tatsächlich windows im spiel ist :)
nicht linux hält dich von etwas ab sondern windows. es hat nämlich das recht das script auszuführen kassiert.
ps: das verzeichniss ist schnurz egal. deshalb wird es nicht erwähnt. pack das file unter linux aus und du wirst keine probleme haben. tar -xvf alexa-fhem-0.1.8.tgz
Guten Abend,
Im Wiki ist oder war zumindest auch Mal das Problem beschrieben (unter troubleshooting bei der alexa-fhem Installation).
Dort steht was zu tun ist wenn man keinen rechte hat die entsprechende Datei auszuführen.
Schau nochmal rein...
Grüße und noch schöne Feiertage!
PS: Hatte das gleiche Problem, auch weil ich es über Windows entpackt und dann per FTP auf den raspi gezogen habe. Wenn man es in Linux entpackt, gibt es damit keine Probleme, da die entsprechenden rechte direkt gesetzt werden.
Hallo zusammen,
vielen Dank für eure Antworten.
War die üblichen Verwandten besuchen, daher meine Antwort erst jetzt.
Bevor ich gelesen die Antworten gelesen habe, habe ich noch folgendes gemacht:
* Die Befehle im creatKey.sh Skript in einer OpenSSL-Shell ausgeführt und so eine key.pem erzeugt.
* Mit der Hand am Arm alles nach /opt/fhem/alexa-fhem kopiert
* und dann per sudo chown -c -R fhem /opt/fhem/alexa-fhem rekursiv dem Benutzer fhem übereignet
Ich hoffe, damit das Ganze nicht verschlimmbessert zu haben.
Falls das so in Ordnung ist, würde ich mit Punkt 6 . im Wiki "Die Datei config-sample.json nach..." weitermachen.
LG
Markus
Die Zeile im Startscript su - "pi" -c ...
Heißt: "logge" als User pi ein und führe aus.
Ich nehme an, dass dann folgendes
-su: /opt/fhem/log/alexa-2017-02.log: Keine Berechtigung
einfach heißt, dass der user pi keine Berechtigung hat die Log-Datei im Verzeichnis /opt/fhem/log anzulegen.
Lösung: statt pi den User fhem nehmen zum Starten ODER pi in die Gruppe dialout aufnehmen
Und das ist NICHT die Logdatei die beim Starten angelegt werden soll:
-rw-r--r-- 1 fhem dialout 3888 Feb 13 18:45 Alexa-fhem-2017-02.log
UNGLEICH
/opt/fhem/log/alexa-2017-02.log
Die Datei von der du hier die Berechtigungen etc. angezeigt hast ist wahrscheinlich vom Alexa-Modul in fhem??
Die andere Datei (also alexa-fhem Logdatei) konnte vermutlich noch nicht angelegt werden...
Das mit der Passworteingabe ist seltsam.
Welches System? Debian? Welche Version?
Gruß, Joachim
Hallo Joachim,
Danke erstmal. Sorry für's verschieben meines Posts ( Da scheint auch zeitlich beim verschieben mit deinem Post etwas durcheinander gekommen zu sein ).
Meine Linux Version ist :
Raspbian GNU/Linux 8 \n \l
Ich habe nun in der Gruppe dialout die Benutzer pi & fhem
dialout:x:20:pi,fhem
Bekomme beim Starten aber immer noch die Meldung
-su: /opt/fhem/log/alexa-2017-02.log: Keine Berechtigung
Alexa starting
Alexa is not running
script done
script done
Ich habe mal zu testzwecken in der /etc/init.d/alexa in der Zeile
su - "fhem" -c "cd $ALEXAPATH;./bin/alexa > $LOGPATH/alexa-`date +%Y-%m`.log 2>&1 &"
den Benutzer ausgetauscht ( nur zum Test )
Dann kommt zwar die Meldung nicht mehr, wegen der Berechtigung
Alexa starting
Alexa is not running
script done
script done
Aber das Logfile wurde deswegen nicht angelegt. ( hab den Benutzer wieder auf "pi" zurückgeändert )
ZitatDie Datei von der du hier die Berechtigungen etc. angezeigt hast ist wahrscheinlich vom Alexa-Modul in fhem??
Ja, das hab ich gerade kontrolliert. Die kommt vom FHEM Module, wenn ich auf "FHEM.Alexa" starten klicke.
Vielleicht hilft auch das noch
drwxr-xr-x 12 fhem dialout 4096 Feb 13 17:36 .
drwxr-xr-x 4 root root 4096 Feb 12 21:06 ..
drwxr-xr-x 5 fhem pi 4096 Feb 13 17:41 alexa-fhem
drwxr-xr-x 2 fhem dialout 4096 Feb 12 23:14 backup
-rw-r--r-- 1 fhem dialout 184500 Feb 12 21:26 CHANGED
-rw-r--r-- 1 fhem dialout 35614 Feb 12 21:26 configDB.pm
drwxr-xr-x 39 fhem dialout 4096 Feb 12 21:24 contrib
drwxr-xr-x 3 fhem dialout 4096 Feb 12 21:07 demolog
drwxr-xr-x 4 fhem dialout 4096 Feb 12 21:07 docs
drwxr-xr-x 5 fhem dialout 20480 Feb 12 21:24 FHEM
-rw-r--r-- 1 fhem dialout 157683 Feb 13 18:40 fhem.cfg
-rw-r--r-- 1 fhem dialout 15703 Feb 12 21:26 fhem.cfg.demo
-rwxr-xr-x 1 fhem dialout 129579 Feb 12 21:26 fhem.pl
drwxr-xr-x 2 fhem dialout 4096 Feb 13 00:00 log
-rw-r--r-- 1 fhem dialout 935 Nov 15 2015 README_DEMO.txt
drwxr-xr-x 3 fhem dialout 4096 Feb 12 21:23 restoreDir
drwxr-xr-x 2 fhem dialout 4096 Feb 12 21:23 unused
drwxr-xr-x 8 fhem dialout 4096 Feb 12 21:07 www
Lass doch mal zum Test den Teil mit der Logdatei ganz weg...
...oder gib einen anderen Pfad an, z.B. irgendwo im home von pi...
Wenn du auf der Console als user pi eine Datei in /opt/fhem/log anlegen willst, z.B. touch test.log
Hast du dich nach dem Transfer in die Gruppe dialout aus und wieder eingeloggt!?
Gruß, Joachim
Also im Verzeichnis /opt/fhem/log kann ich mit touch test.log die Datei nicht anlegen. Keine Berechtigung !
Der Benutzer pi ist Mitglied in den Gruppen :
pi : pi adm dialout cdrom sudo audio video plugdev games users input netdev spi i2c gpio
Hast du dich nach dem Hinzufügen zur Gruppe neu eingeloggt!?
Wie sind die Berechtigungen/Gruppenzugehörigkeiten in /opt/fhem bzw. /opt/fhem/log
Hast du schon ohne Ausgabe in Logdatei bzw. anderer Pfad (wo pi Berechtigungen hat) versucht?
Was passiert?
Gruß, Joachim
Danke Joachim,
ich habe nun den Pfad auf
su - "pi" -c "cd $ALEXAPATH;./bin/alexa > ~/alexa-`date +%Y-%m`.log 2>&1 &"
geändert.
Da wurde die Log Datei angelegt.
Leider bin ich in Linux nicht so fit, wie in Windows. Kannst du mir noch erklären, wie ich deine Frage ermitteln kann ?
Wie sind die Berechtigungen/Gruppenzugehörigkeiten in /opt/fhem bzw. /opt/fhem/log
wenn das mit ls -la geht, dann die Ergebnisse hier :
4 drwxr-xr-x 12 fhem dialout 4096 Feb 13 17:36 fhem
und
drwxr-xr-x 2 fhem dialout 4096 Feb 13 00:00 log
Generell geht es aber nun. Und das Logfile im ~/ ist mir eigentlich auch ganz recht.
Muss das für mich dokumentieren, das das umlegen des Logfiles ins home Verzeichnis meine Lösung ist
Ja geht genau so...
...kennst dich also doch bestens aus... ;)
Man sieht, dass nur der User fhem schreiben darf...
...Gruppe nur lesen und ausführen...
(soweit ich das sehe)
Somit ist leider die Aufnahme des users pi in dialout nutzlos gewesen.
Hätte ich wohl vorher abfragen sollen...
D.h. jetzt geht es!?
Ich habe gleich nach /home/pi/alexa-fhem installiert...
Achja: wenn du als user fhem starten lässt (weil du doch die Logdatei on /opt/fhem/log haben willst ;) ), dann muss die config.json nach /opt/fhem/.alexa vielleicht ging es deshalb beim ersten Versuch mit user fhem nicht... Sorry hatte ich vergessen zu erwähnen...
Rechte des Verzeichnisses würde nat. auch gehen. Evtl. sudo chmod 775 /opt/fhem/log aber bevor du das tust müsste ich (oder du) noch mal genau nachschauen. Bin allerdings bis morgen Abend unterwegs und daher etwas eingeschränkt...
D.h. auch der Gruppe dialout Schreibrechte geben, dann würde auch die Aufnahme des users pi in dialout wiedet passen...
Alternativ ein setzen der Rechte auf 777 aber das wäre schon Hardcore (und wie gesagt eigentlich unnötig): jeder darf alles...
Gruß, Joachim
Hallo Joachim,
danke für die Unterstützung.
Ja es funktioniert wieder alles. Ich kann nun meine Geräte wieder mit Alexa steuern.
Das nun das Logfile in ~/ liegt ist mir auch ganz recht. Da bin ich in der Rege schneller mit der Fehleranalyse. ( Das ist aber wohl eher nur subjektiv :-) )
Ich werde das für mich dokumentieren und morgen auch noch die Lösung im anderen Thread schreiben.
Eventuell probier ich es morgen auch noch mit den anderen Rechten in /opt/fhem/log . Vor allem nachdem ich ja jetzt eine Möglichkeit habe es zu betreiben.