Batch Datei mit Adminrechten ausführen

Begonnen von baukater, 10 Dezember 2016, 10:48:33

Vorheriges Thema - Nächstes Thema

baukater

Hallo,

ich habe mir eine batchdatei gechriebben, deren Befehle Adminrechte brauchen.

Die Batch möchte ich mit System ("batch.bat") periodisch aufrufen. Leide bekomme ich immer eine Fehlermeldung

Rufe ich es so auf:
+*4:00 {system("/usr/bin/sudo /opt/fhem/hcitoolbatch.bat")}

erhalte ich diese Meldung:

sudo: no tty present and no askpass program specified
2016.12.10 10:43:25 3: restartBT: -1


Rufe ich es ohne sudo auf
+*4:00 {system("/opt/fhem/hcitoolbatch.bat")}


Can't down device hci0: Operation not permitted (1)
Can't init device hci0: Operation not permitted (1)
Set Low Energy for hci0 failed with status 0x14 (Permission Denied)
hci0: Type: BR/EDR  Bus: USB
BD Address: 00:1A:7D:DA:71:14  ACL MTU: 310:10  SCO MTU: 64:8
UP RUNNING
RX bytes:1737140 acl:80 sco:0 events:14564 errors:0
TX bytes:95014 acl:70 sco:0 commands:7084 errors:20

2016.12.10 10:44:57 3: restartBT: -1



Mein Script:


/usr/local/bin/hciconfig hci0 down
/usr/local/bin/hciconfig hci0 up
/usr/bin/btmgmt le on
/usr/local/bin/hciconfig hc0


Was muss ich denn jetzt ändern? Hab auch schon in der Batchdatei Sudo vorangestellt, auch mit Pfad. geht aber auch nicht
FB7490,Raspi 2/3,HM-Lan,Jeelink Classic (868),Logilink BT0015 Bluetooth 4.0, 2x mySmartUSB light,RS485USB , entities:272 device:14 channel:27 virtual:1, 6 x HM-LC-BL1-FM,4 x HM-LC-SW4-WM, 1 x HM-LC-SW2-FM,1 x Fensterkontakt,1 1x Türkontakt, 1 1x Bewegungsmelder, DECT-200,DECT100,6xAuthentic Xiaom

digiart

Hast Du auch den Eintrag für den Benutzer "fhem" auch in der sudoers-Datei gesetzt?
Anfragen ausserhalb der Threads (PN, Mail o.ä.) werden ignoriert!

Otto123

Hallo Baukater,

zum ersten geht der Systemaufruf auch einfacher:
{system("/opt/fhem/hcitoolbatch.bat")} -> "/opt/fhem/hcitoolbatch.bat"

Bevor Du Dir nach sudo die Zeit versuchst, warum suchst Du nicht danach, die Berechtigungen so zu setzen, dass fhem die Batch ausführen darf!? Meines Wissen gibt es Gruppen für Bluetooth die dies ermöglichen.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

baukater

#3
Zitat von: Otto123 am 10 Dezember 2016, 16:20:43
Hallo Baukater,

zum ersten geht der Systemaufruf auch einfacher:
{system("/opt/fhem/hcitoolbatch.bat")} -> "/opt/fhem/hcitoolbatch.bat"

Bevor Du Dir nach sudo die Zeit versuchst, warum suchst Du nicht danach, die Berechtigungen so zu setzen, dass fhem die Batch ausführen darf!? Meines Wissen gibt es Gruppen für Bluetooth die dies ermöglichen.

Gruß Otto
ohne system.... führt zu einen Fehler:

2016.12.11 09:09:13 3: restartBT: Unknown command /opt/fhem/hcitoolbatch.bat", try help.

Auch das hinzufügen zur Gruppe bluetooth führt zu keinem Erfolg. Wieder Berechtigungsfehler. Hab den fhem user
auch mal zur Gruppe adm hinzugefügt. Das scheitert ebenfalls.

Frage, nur zur Sicherheit: Wie kann ich feststellen, mit welchme User FHEM tatsächlich ausführt? Weil irgend etwas mach
ich ja noch falsch. :-(
FB7490,Raspi 2/3,HM-Lan,Jeelink Classic (868),Logilink BT0015 Bluetooth 4.0, 2x mySmartUSB light,RS485USB , entities:272 device:14 channel:27 virtual:1, 6 x HM-LC-BL1-FM,4 x HM-LC-SW4-WM, 1 x HM-LC-SW2-FM,1 x Fensterkontakt,1 1x Türkontakt, 1 1x Bewegungsmelder, DECT-200,DECT100,6xAuthentic Xiaom

Otto123

Zitat von: baukater am 11 Dezember 2016, 09:12:25
ohne system.... führt zu einen Fehler:

2016.12.11 09:09:13 3: restartBT: Unknown command /opt/fhem/hcitoolbatch.bat", try help.

Es führt zu keinem anderen Fehler, du siehst den Fehler nur an andere Stelle. Die Rückgabefunktion beider Aufrufe unterscheidet sich.
Offenbar hast Du nicht nur ein Rechte Problem sondern die Aufrufe in der batch stimmen auch nicht. Aber das ist nur eine Vermutung von mir.

Probiere doch wenn Du willst den Aufruf einfach mit einem Script aus, was auch funktioniert.

Mit welchem User FHEM läuft siehst Du einfach in deinem Logfile beim Start:
Zitat2016.12.04 22:40:37 0: Server started with 36 defined entities (fhem.pl:12680/2016-11-28 perl:5.014002 os:linux user:fhem pid:31448)
Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz